Java 程式設計入門

Similar documents
CHAPTER VC#

新・解きながら学ぶJava

3.1 num = 3 ch = 'C' 2

Microsoft PowerPoint - 02_運算.pptx

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

CC213

C/C++语言 - 运算符、表达式和语句

untitled

CC213

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

Microsoft PowerPoint - C_Structure.ppt

Java

PowerPoint Presentation

untitled

VB.Net

Microsoft Word - 第3章.doc

街街街街街街街街

Microsoft Word - 認識減重手術 注意後遺症.doc

Excel VBA Excel Visual Basic for Application

Microsoft Word - 投影片ch03

科学计算的语言-FORTRAN95

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Microsoft Word - 01.DOC

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

運算子多載 Operator Overloading

Microsoft PowerPoint - Bronson-v3-ch02.ppt [相容模式]

Microsoft Word - ch04三校.doc

Microsoft Word - ACG chapter00c-3ed.docx

Chapter 9: Objects and Classes

<4D F736F F D20AFB4A7C7A555B2D5C2B4A657B3E62E646F63>

YS1.mps

投影片 1

PowerPoint Presentation

_汪_文前新ok[3.1].doc

FY.DOC

新版 明解C言語入門編

Microsoft Word - ACL chapter02-5ed.docx

Microsoft PowerPoint - 04-array_pointer.ppt

C/C++ - 函数

運算子多載 Operator Overloading

Introduction to C Programming

C/C++程序设计 - 字符串与格式化输入/输出

Microsoft Word - PHP7Ch01.docx

新版 明解C++入門編

C/C++语言 - 分支结构

untitled

Microsoft PowerPoint - ch04_AEL0080.ppt

untitled

C++ 程式設計

新・解きながら学ぶC言語

資料結構之C語言重點複習

Microsoft PowerPoint - Class2.pptx

Microsoft PowerPoint - chap3

概述

Explain each of the following terms. (12%) (a) O(n 2 ) (b) protected in C++ language (c) sparse matrix 7. Write

Scott Effective C++ C++ C++ Roger Orr OR/2 ISO C++ Effective Modern C++ C++ C++ Scoot 42 Bart Vandewoestyne C++ C++ Scott Effective Modern C++ Damien

C/C++ - 文件IO

C/C++ - 字符输入输出和字符确认

416 Journal of Software 4(3) 2003,1. Java, Java, Java : ; ; ;Java : TP311 : A (binding time analysis ), (partial evaluation)., [1~3]., C Java, Java.,.

國人之健康行為初探

chp6.ppt

低 GI 飲食減重 不可不知的新 纖 事 吳得束營養師 1

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

Microsoft PowerPoint - sql2005_ch09.ppt

Computer Architecture

Microsoft Word - ch 校.doc

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

ROP_bamboofox.key

!49 第 二講 資料型態 運算子與表示式 講師 : 李根逸 (Ken-Yi Lee),

Microsoft Word - 3D手册2.doc

2013年度西藏自治区教育厅

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福

國家圖書館典藏電子全文

Microsoft PowerPoint - plan06.ppt

Oracle Database 10g: SQL (OCE) 的第一堂課

Transcription:

Java 程式設計入門 講師 : 陳昭源 CISE, NTU August 28, 2005

Outline 變數 Variables 運算子 Operators 運算式 (Expressions) 敘述(Statements) & 程式區塊 (Blocks) 流程控制 Control Flow Statements if-else statements switch statements August 28, 2005 Page 2

變數 Variables 何謂變數? 物件利用變數儲存其狀態 每個變數都有各自的名稱 (name) 與資料型態 (data type) 變數名稱 : 用以存取其所儲存之資料內容 資料型態 : 決定此變數能夠儲存的資料種類 變數宣告 (declaration) 語法 :DataType VarName [= InitialValue]; 例 :int xxx; char yyy = a ; 變數必須在第一次使用前宣告! August 28, 2005 Page 3

變數 Variables 資料型別 Data Types 每個變數都必須要有一個資料型別 資料型別決定這個變數所儲存的資料類型 資料型別的種類 Primitive Data Types: 此種類型的變數僅儲存相對應於資料型別所指定的種類 大小 格式的資料 Reference Data Types: 此種類型的變數實際上乃指向其所儲存的資料所代表的記憶體位址 (address), 也就是指標形態 (pointer); 陣列 (array) 類別 (class) 介面 (interface) 皆為此類型 August 28, 2005 Page 4

變數 Variables Primitive Data Types August 28, 2005 Page 5

變數 Variables 變數名稱 不能是關鍵字 (keyword) 布林字 (true false) 或是保留字 null 命名慣例 變數名稱以小寫開頭, 類別名稱由大寫開頭 如果名稱由不同字組成, 必須將字組相連, 且後面的字開頭大寫, 例 :userlogin 常數 (constant) 通常全部大寫, 且使用底線 (_) 分開字組, 例 :CURRENT_USER_NUM August 28, 2005 Page 6

變數 Variables final 變數 語法 :final DataType VarName = InitialValue; 一旦變數被宣告成 final, 其值將不可再更改 例 :final int xxx = 0; 若程式欲更改 final 變數的值將造成編譯時期錯誤 (compile-time error) August 28, 2005 Page 7

運算子 Operators 運算子 運算子可對一個 兩個或三個運算元 (operands) 執行動作 依照所需的運算元數目, 可分為 一元運算子 (unary operator), 例 :a++ --a 二元運算子 (binary operator), 例 :a = 2 三元運算子 (ternary operator), 例 :(x>0)? x-1 : (x+1) 依照運算子擺放位置, 可分為 前置 (prefix) 運算子 : 運算子擺放在運算元之前, 例 :++i 後置 (postfix) 運算子 : 運算子擺放在運算元之後, 例 :i++ 中置 (infix) 運算子 : 運算子擺放在中間, 例 :a + b 運算子執行動作後將回傳值, 其值之型態視運算元而定 August 28, 2005 Page 8

運算子 Operators 算術運算子 Arithmetic Operators August 28, 2005 Page 9

運算子 Operators 運算元型態不同之運算 若算術運算子進行整數 (integer) 與浮點數型態 (floating-point) 數字之運算, 最後結果將回傳浮點數型態之數字 ; 整數數字將在運算前被轉換成 (implicit conversion) 浮點數型態 August 28, 2005 Page 10

運算子 Operators 算術運算子之一元型態 x++ vs. ++x August 28, 2005 Page 11

運算子 Operators 關係運算子 Relational Operators 判斷左右運算元的關係, 回傳 true 或 false August 28, 2005 Page 12

運算子 Operators 條件運算子 Conditional Operators August 28, 2005 Page 13

運算子 Operators 位元位移運算子 Shift Operators 位元邏輯運算子 Logical Operators August 28, 2005 Page 14

運算子 Operators 指定運算子 Assignment Operators 基本指定運算子 := 複合指定運算子 例 : a += 2 a = a + 2 a *= 3 a = a * 3 August 28, 2005 Page 15

運算子 Operators? : 語法 :op1? op2 : op3 唯一的三元運算子 簡略的 if-else 敘述 例 :(x>0)? (x-1) : (x+1) 即 if (x > 0) return x-1; else return x+1; August 28, 2005 Page 16

運算子 Operators (DataType) 語法 :(DataType)VarName 強迫型別轉換 例 : int x = 10; double y = (double)x + 2; 其他運算子 August 28, 2005 Page 17

Expressions Statements & Blocks 運算式 Expressions 由變數 運算子以及方法呼叫等所構成, 主要目的為計算結果並回傳值 ambiguous vs. unambiguous 例 : x + y / 100 (x + y) / 100 x + (y / 100) August 28, 2005 Page 18

Expressions Statements & Blocks 運算子優先序 擅用括號避免曖昧不明 (ambiguous) 的運算式 August 28, 2005 Page 19

Expressions Statements & Blocks 敘述 Statements 類似人們說話的語言 ( natural language ) 敘述由多個運算式構成一個完整的執行動作, 並以分號 (;) 作結尾 下列運算式可構成敘述 Assignment Expressions, 例 :a = 2; Any Use of ++ or --, 例 :a++; Method Calls, 例 :System.out.println( Hi! ); Object Creation Expressions, 例 :Integer intobject = new Integer(4); August 28, 2005 Page 20

Expressions Statements & Blocks 敘述 Statements 除了由運算式構成, 另有兩種敘述 Declaration Statement, 例 :int x = 2; Control Flow Statement 程式區塊 Blocks 由大括號包覆, 且內含零個以上的敘述 例 : if (a > 2) { a -= 1; } August 28, 2005 Page 21

流程控制 Control Flow Statements Why do we need control flow statements? Control Flow Statements August 28, 2005 Page 22

流程控制 Control Flow Statements if/else statements 語法 : if(expression) { statements } else if(expression) { statements } else { statements } 使用? : 運算子代替簡單的 if-else 較複雜的情況, 我們常使用巢狀 if-else 敘述 August 28, 2005 Page 23

流程控制 Control Flow Statements switch Statement 語法 : switch(expression) { case value1: statements break; case value2: statements break; default: statements break; } August 28, 2005 Page 24

流程控制 Control Flow Statements switch Statement expression 的回傳值必須表示成整數值 byte, short, int, char 每個 case 的結尾, 都必須有 break; 敘述 if-else statement vs. switch statement if-else 可用在條件式或範圍的判斷 ;switch 敘述僅能判斷單一整數值 ASCII Table August 28, 2005 Page 25

基本程式撰寫技巧 Basic Programming Skills Readability 縮排 空行 註解 : 解釋 分隔線 單行註解 //... 多行註解 /**************.. **************/ August 28, 2005 Page 26

基本程式撰寫技巧 Basic Programming Skills 跳脫字元 Escape Characters \ : 單引號 \ : 雙引號 \\: 反斜線 \b: 空格 \n: 換行 \t:tab 鍵 August 28, 2005 Page 27

基本程式撰寫技巧 Basic Programming Skills 基本輸出 System.out.println( ); System.out.print( ); 輸出多個項目 System.out.print( + xxx + ); System.out.println( + xxx + ); 基本輸入 鍵盤輸入一個字元 :ReadChar.java main 參數讀取 :ReadParameter.java 基本 Java 類別庫 java.lang August 28, 2005 Page 28

Exercise Exercise01:Body Mass Index (BMI) Calculator 以 main 參數輸入身高 (cm) 與體重 (kg) 計算此人的 BMI 指數及狀況 ( 參閱對照表 ) 計算公式 : 體重 (kg)/ 身高 (m) 2 例 :170cm 65kg BMI = 65/(1.7) 2 = 22.49... You are NORMAL! BMI Status < 18.5 Underweight 18.5 24.9 Normal 25.0 29.9 Overweight > 30.0 Obese August 28, 2005 Page 29

Exercise Exercise02 讀取使用者的輸入的字元, 不分大小寫 若輸入為 a e i o u, 請輸出 VOWEL 若輸入為 y w, 請輸出 SOMETIMES A VOWEL 若輸入為其他字母, 請輸出 CONSONANT 若輸入非字母, 請輸出 ERROR August 28, 2005 Page 30