String str 1 new String This is str

  • Slides: 153
Download presentation

變數與資料型態 字串 設定字串值 由宣告語法可知,設定字串物件內的字串值,可以直接使用『=』來 指定即可,如下範例: String str 1 = new String ("This is str

變數與資料型態 字串 設定字串值 由宣告語法可知,設定字串物件內的字串值,可以直接使用『=』來 指定即可,如下範例: String str 1 = new String ("This is str 1"); String str 2 = new String(); String str 3 = "This is str 3"; String str 4; str 1="This is new str 1"; str 2="This is str 2"; str 3="This is new str 3"; str 4=str 3;

資料輸入 import java. io. *; public class 主類別名稱{ public static void main(String args[]) throws

資料輸入 import java. io. *; public class 主類別名稱{ public static void main(String args[]) throws IOException { Buffered. Reader buf; String str 1; buf= new Buffered. Reader(new Input. Stream. Reader(System. in)); str 1=buf. read. Line(); . . . } } 【說明】: (1)由於要使用一些關於io的類別,因此透過import java. io. *; 載入相關 類別庫。

資料輸入 1 2 3 4 5 6 7 8 9 10 11 12 13

資料輸入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /* 檔名: ch 3_01. java 功能: 鍵盤輸入範例 */ package my. Java. ch 03; import java. lang. *; import java. io. *; public class ch 3_01 //主類別 { public static void main(String args[]) throws IOException { Buffered. Reader buf; String str 1, str 2; System. out. print("請輸入第一個字串: "); buf = new Buffered. Reader(new Input. Stream. Reader(System. in)); str 1 = buf. read. Line(); System. out. print("請輸入第二個字串: "); str 2 = buf. read. Line(); System. out. println("您所輸入的字串如下: "); System. out. println(str 1); System. out. println(str 2); } }

資料輸入 使用Console物件讀取鍵盤輸入的格式如下: import java. io. Console; 【說明】: public class 主類別名稱{ public static void main(String

資料輸入 使用Console物件讀取鍵盤輸入的格式如下: import java. io. Console; 【說明】: public class 主類別名稱{ public static void main(String args[]) { Console console=System. console(); String str 1; str 1=console. read. Line(). . . } } (1)由於要使用java. io. Console類別,因此透過import java. io. Console; 載入類別。當然您也可以寫為java. io. *一次載入所有 屬於該類別庫下的類別。

資料輸入 12 13 14 15 16 17 18 19 20 21 22 23 24

資料輸入 12 13 14 15 16 17 18 19 20 21 22 23 24 { Console console=System. console(); String str 1, str 2; System. out. print("請輸入第一個字串: "); str 1 = console. read. Line(); System. out. print("請輸入第二個字串: "); str 2 = console. read. Line(); System. out. println("您所輸入的字串如下: "); System. out. println(str 1); System. out. println(str 2); } } 執行結果:(同範例3 -1) 範例說明: 範例3 -1 a與範例3 -1非常類似,但簡單許多,並且也不需要丟出例外。 第 13行是宣告並產生物件實體console,第 17行與第 19行則是透過物 件的read. Line方法取得鍵盤輸入的一行字串。

3. 2 資料輸入 1 2 3 4 5 6 7 8 9 10 11

3. 2 資料輸入 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /* 檔名: ch 3_01 b. java 功能: 鍵盤輸入範例 - 不顯示輸入字元 */ package my. Java. ch 03; import java. lang. *; import java. io. Console; public class ch 3_01 b //主類別 { public static void main(String args[]) { Console console=System. console(); char[] input. PW; //宣告字元陣列 //不必丟出例外 input. PW = console. read. Password("請輸入密碼: "); System. out. println("您所輸入的密碼如下: "); System. out. println(input. PW); } }

運算式(運算子及運算元) 算術運算子(Arithmetic Operators) 1 2 3 4 5 6 7 8 9 10 11

運算式(運算子及運算元) 算術運算子(Arithmetic Operators) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 3_02. java 功能: 算術運算子範例 */ package my. Java. ch 03; import java. lang. *; public class ch 3_02 //主類別 { public static void main(String args[]) { float answer; float a=2. 1 f, b=3. 5 f, c=4. 0 f; int x, y; x = 20; y = 7; System. out. print("當x=" + x + " "); System. out. println("y=" + y + "時"); System. out. println("x + y = " + (x+y)); System. out. println("x - y = " + (x-y)); System. out. println("x * y = " + (x*y)); System. out. println("x / y = " + (x/y)); System. out. println("x %% y = " + (x%y)); // y不可為 0

運算式(運算子及運算元) 算術運算子(Arithmetic Operators) 24 25 26 27 28 29 30 31 System. out. println("-------------");

運算式(運算子及運算元) 算術運算子(Arithmetic Operators) 24 25 26 27 28 29 30 31 System. out. println("-------------"); System. out. print("當a=" + a + " "); System. out. print("b=" + b + " "); System. out. println("c" + c + "時"); answer = b*b-4*a*c; System. out. println("b^2 -4 ac=" + answer); } 執行結果: } 當x=20 y=7時 x + y = 27 x - y = 13 x * y = 140 x / y = 2 x % y = 6 -------------當a=2. 1 b=3. 5 c 4. 0時 b^2 -4 ac=-21. 349998

運算式(運算子及運算元) 邏輯條件運算子(Conditional Operators) 範例3 -3:ch 3_03. java(隨書光碟 my. Javach 03ch 3_03. java) 1 2

運算式(運算子及運算元) 邏輯條件運算子(Conditional Operators) 範例3 -3:ch 3_03. java(隨書光碟 my. Javach 03ch 3_03. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 /* 檔名: ch 3_03. java 功能: 比較運算子與邏輯運算子範例 */ package my. Java. ch 03; import java. lang. *; public class ch 3_03 //主類別 { public static void main(String args[]) { int x=10, y=20; boolean a=true, b=false; System. out. print(" x=" + x); System. out. println(" y=" + y); System. out. println("--------");

運算式(運算子及運算元) 邏輯條件運算子(Conditional Operators) 18 19 20 21 22 23 24 25 26 27 28

運算式(運算子及運算元) 邏輯條件運算子(Conditional Operators) 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 System. out. println("x==y ==> " + (x==y)); System. out. println("x!=y ==> " + (x!=y)); System. out. println("x>y ==> " + (x>y)); System. out. println("x<y ==> " + (x<y)); System. out. println("x>=y ==> " + (x>=y)); System. out. println("x<=y ==> " + (x<=y)); System. out. println("=========="); System. out. print(" a=" + a); System. out. println(" b=" + b); System. out. println("--------"); System. out. println("not a ==> " + !a); System. out. println("a and b ==> " + (a && b)); System. out. println("a or b ==> " + (a || b)); System. out. println("a xor b ==> " + ((a && !b)||(!a && b))); System. out. println("a nand b ==> " + !(a && b)); System. out. println("a nor b ==> " + !(a || b)); System. out. println("a and (x<y) ==> " + (a && (x<y))); } }

運算式(運算子及運算元) 邏輯條件運算子(Conditional Operators) 執行結果: x=10 y=20 -------x==y ==> false x!=y ==> true x>y ==>

運算式(運算子及運算元) 邏輯條件運算子(Conditional Operators) 執行結果: x=10 y=20 -------x==y ==> false x!=y ==> true x>y ==> false x<y ==> true x>=y ==> false x<=y ==> true ========== a=true b=false -------not a ==> false a and b ==> false a or b ==> true a xor b ==> true a nand b ==> true a nor b ==> false a and (x<y) ==> true

Practice 1 使用鍵盤輸入 a, b, c三值,此外預設 d=2, e=3。計算 下面公式 str 1 = console. read.

Practice 1 使用鍵盤輸入 a, b, c三值,此外預設 d=2, e=3。計算 下面公式 str 1 = console. read. Line(); a=Double. parse. Double(str 1); 56

附註(1) 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Byte static byte parse. Byte(String s) 將字串轉為byte型態

附註(1) 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Byte static byte parse. Byte(String s) 將字串轉為byte型態 java. lang. Byte static String to. String(byte b) 將byte型態轉為字串 java. lang. Short static short parse. Short(String s) 將字串轉為short型態 java. lang. Short static String to. String(short s) 將short型態轉為字串 java. lang. Integer static int parse. Int(String s) 將字串轉為int型態 java. lang. Integer static String to. String(int i) 將int型態轉為字串 java. lang. Long static long parse. Long(String s) 將字串轉為long型態 java. lang. Long static String to. String(long i) 將long型態轉為字串 java. lang. Float static float parse. Float(String s) 將字串轉為float型態 java. lang. Float static String to. String(float f) 將float型態轉為字串 57

附註(2) 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Double static double parse. Double(String s) 將字串轉為double型態

附註(2) 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Double static double parse. Double(String s) 將字串轉為double型態 java. lang. Double static String to. String(double d) 將double型態轉為字串 java. lang. Boolean static boolean parse. Boolean(String s) 將字串轉為boolean型態 java. lang. Boolean static String to. String(boolean b) 將boolean型態轉為字串 java. lang. Character static String to. String(char c) 將char型態轉為字串 58

運算式(運算子及運算元) 1 2 3 4 5 6 7 8 9 10 11 12 13

運算式(運算子及運算元) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* 檔名: ch 3_04. java 功能: 位元邏輯及移位運算子範例 */ package my. Java. ch 03; import java. lang. *; public class ch 3_04 //主類別 { public static void main(String args[]) { short x=100, y=50, p=3; int xx=0; System. out. println("p=3"); System. out. println("x=01100100"); System. out. println("y=00110010"); System. out. println("----------"); System. out. println("not xx ==> " + ~xx); System. out. println("x and y ==> " + (x & y)); System. out. println("x or y ==> " + (x | y)); System. out. println("x xor y ==> " + (x ^ y)); System. out. println("x >>> p ==> " + (x >>> p)); System. out. println("x << p ==> " + (x << p)); } }

運算式(運算子及運算元) 位元運算子(Bitwise and Bit Shift Operator) 執行結果: p=3 x=01100100 y=00110010 ----------not xx ==> -1

運算式(運算子及運算元) 位元運算子(Bitwise and Bit Shift Operator) 執行結果: p=3 x=01100100 y=00110010 ----------not xx ==> -1 x and y ==> 32 x or y ==> 118 x xor y ==> 86 x >>> p ==> 12 x << p ==> 800 範例說明: (1) 第 12行將x, y宣告為short整數資料型態,所以變數長度為 2個位元 組。因此x=100=000001100100、y=50=00000110010。

運算式(運算子及運算元) 遞增與遞減運算子 1 2 3 4 5 6 7 8 9 10 11 12

運算式(運算子及運算元) 遞增與遞減運算子 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 3_05. java 功能: 遞增遞減運算子範例 */ package my. Java. ch 03; import java. lang. *; public class ch 3_05 //主類別 { public static void main(String args[]) { int i=5, j=10, a, b; int x=5, y=10, c, d; a = b = c= d= 1+ 1+ i++; j--; ++x; --y; System. out. print("i = " + i); System. out. print("t j = " + j); System. out. print("t x = " + x); System. out. println("t y = " + y);

資料型態的轉換 範例3 -6:ch 3_06. java(隨書光碟 my. Javach 03ch 3_06. java) 1 2 3 4

資料型態的轉換 範例3 -6:ch 3_06. java(隨書光碟 my. Javach 03ch 3_06. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* 檔名: ch 3_06. java 功能: 運算式的自動轉型範例 */ package my. Java. ch 03; import java. lang. *; public class ch 3_06 //主類別 { public static void main(String args[]) { short s=23; int a=100; char b='a'; float c=3. 5 f; double d=4. 8 d; //相當於 double d=4. 8; System. out. print("result = "); System. out. println((s+a-b+c)+(c*d)); } }

資料型態的轉換 使用內建類別轉換資料型態 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Byte static byte parse. Byte(String s)

資料型態的轉換 使用內建類別轉換資料型態 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Byte static byte parse. Byte(String s) 將字串轉為byte型態 java. lang. Byte static String to. String(byte b) 將byte型態轉為字串 java. lang. Short static short parse. Short(String s) 將字串轉為short型態 java. lang. Short static String to. String(short s) 將short型態轉為字串 java. lang. Integer static int parse. Int(String s) 將字串轉為int型態 java. lang. Integer static String to. String(int i) 將int型態轉為字串 java. lang. Long static long parse. Long(String s) 將字串轉為long型態 java. lang. Long static String to. String(long i) 將long型態轉為字串 java. lang. Float static float parse. Float(String s) 將字串轉為float型態 java. lang. Float static String to. String(float f) 將float型態轉為字串 原始資料型態對應之內建類別

資料型態的轉換 使用內建類別轉換資料型態 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Double static double parse. Double(String s)

資料型態的轉換 使用內建類別轉換資料型態 所屬類別 轉換可用之static方法(Class Method) 功能 java. lang. Double static double parse. Double(String s) 將字串轉為double型態 java. lang. Double static String to. String(double d) 將double型態轉為字串 java. lang. Boolean static boolean parse. Boolean(String s) 將字串轉為boolean型態 java. lang. Boolean static String to. String(boolean b) 將boolean型態轉為字串 java. lang. Character static String to. String(char c) 將char型態轉為字串 原始資料型態對應之內建類別(續) 【註】:以上各方法的封裝等級為public。 【註】:boolean parse. Boolean(String s) 只有在s="true"時,才會回傳布林值true,否則全部都 回傳布林值false。 範例3 -7:ch 3_07. java(隨書光碟 my. Javach 03ch 3_07. java)

資料型態的轉換 使用內建類別轉換資料型態 1 2 3 4 5 6 7 8 9 10 11 12

資料型態的轉換 使用內建類別轉換資料型態 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 /* 檔名: ch 3_07. java 功能: 字串轉原始資料型態範例 */ package my. Java. ch 03; import java. lang. *; import java. io. Console; public class ch 3_07 //主類別 { public static void main(String args[]) { Console console=System. console(); String str 1; double x; System. out. print("欲求x的3次方, 請輸入x: "); str 1 = console. read. Line(); x=Double. parse. Double(str 1); System. out. println("x的3次方為: " + (x*x*x)); } }

資料型態的轉換 使用內建類別轉換資料型態 1 2 3 4 5 6 7 8 9 10 11 12

資料型態的轉換 使用內建類別轉換資料型態 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 3_08. java 功能: 數值轉字串範例 */ package my. Java. ch 03; import java. lang. *; public class ch 3_08 //主類別 { public static void main(String args[]) { short a=100; int b=200; float d=3. 5 f; double e=4. 8 d; //相當於 double d=4. 8; String s 1, s 2; s 1=String. value. Of(a+b)+String. value. Of(a)+String. value. Of(b); s 2=Float. to. String(d)+Double. to. String(e); System. out. println("s 1 = " + s 1); System. out. println("s 2 = " + s 2); } }

『選擇性』敘述 單一選擇敘述(if敘述) 1 2 3 4 5 6 7 8 9 10 11 12

『選擇性』敘述 單一選擇敘述(if敘述) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 4_01. java 功能: if選擇性敘述範例 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_01 //主類別 { public static void main(String args[]) { Console console=System. console(); int x; String str 1 =new String("您輸入的是正數或 0"); System. out. print("請輸入一個整數: "); x = Integer. parse. Int(console. read. Line()); if(x<0) str 1="您輸入的是負數"; System. out. println(str 1); } }

『選擇性』敘述 單一選擇敘述(if敘述) 【實用範例4 -2】:根據購買入場卷的數量是否大於 10張,決 定是否打折優待。 範例4 -2:ch 4_02. java(隨書光碟 my. Javach 04ch 4_02.

『選擇性』敘述 單一選擇敘述(if敘述) 【實用範例4 -2】:根據購買入場卷的數量是否大於 10張,決 定是否打折優待。 範例4 -2:ch 4_02. java(隨書光碟 my. Javach 04ch 4_02. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 /* 檔名: ch 4_02. java 功能: if選擇性敘述範例 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_02 //主類別 { public static void main(String args[]) { Console console=System. console(); int One. Price=200, Qty; double Total. Price;

『選擇性』敘述 單一選擇敘述(if敘述) 1 2 3 4 5 6 7 8 9 10 11 12

『選擇性』敘述 單一選擇敘述(if敘述) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* 檔名: ch 4_03. java 功能: 條件運算式範例 */ package my. Java. ch 04; import java. lang. *; public class ch 4_03 //主類別 { public static void main(String args[]) { boolean x=false; String str 1=new String("x為真"); if(x=false) str 1="x為假"; System. out. println(str 1); } } 執行結果: x為真

『選擇性』敘述 雙向選擇敘述(if-else敘述) 1 2 3 4 5 6 7 8 9 10 11 12

『選擇性』敘述 雙向選擇敘述(if-else敘述) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 4_04. java 功能: if-else選擇性敘述範例 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_04 //主類別 { public static void main(String args[]) { Console console=System. console(); int One. Price=200, Qty; double Total. Price; System. out. println("每張入場卷價格為" + One. Price + "元"); System. out. print("請輸入您要購買的張數: "); Qty=Integer. parse. Int(console. read. Line()); System. out. println("============="); Total. Price = One. Price*Qty; if(Qty>=10) {

『選擇性』敘述 e 1?e 2:e 3特殊選擇運算式 1 2 3 4 5 6 7 8 9

『選擇性』敘述 e 1?e 2:e 3特殊選擇運算式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /* 檔名: ch 4_05. java 功能: 「? : 」運算子範例 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_05 //主類別 { public static void main(String args[]) { Console console=System. console(); String str 1=new String("恭喜您猜到了, 獎品是一包乖乖. "); int Ans=38; /* 答案為 38 */ int Guess; System. out. print("請猜一個1~99的號碼: "); Guess=Integer. parse. Int(console. read. Line()); if(Guess!=Ans) str 1=(Guess>Ans) ? "您猜得太大了" : "您猜得太小了" ; System. out. println(str 1); } }

『選擇性』敘述 巢狀式選擇敘述 1 2 3 4 5 6 7 8 9 10 11 12

『選擇性』敘述 巢狀式選擇敘述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 4_06. java 功能: 巢狀選擇範例 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_06 //主類別 { public static void main(String args[]) { Console console=System. console(); int Credit, Status; //信用額度, 繳款狀態 double Year; // 持卡年份 System. out. print("請輸入信用額度: "); Credit=Integer. parse. Int(console. read. Line()); System. out. print("繳款是否正常(1: 正常, 0: 不正常): "); Status=Integer. parse. Int(console. read. Line()); if(Status==1) { System. out. print("請輸入持卡年份: ");

『選擇性』敘述 巢狀式選擇敘述 24 25 26 27 28 29 30 31 32 33 34 35

『選擇性』敘述 巢狀式選擇敘述 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 Year=Double. parse. Double(console. read. Line()); if(Year>=0. 5) { if(Year<1) { System. out. println("預借現金金額為" + (Credit*0. 5) + "元"); } else //對應第 27行的if { System. out. println("預借現金金額為" + Credit + "元"); } } else //對應第 25行的if { System. out. println("預借現金金額為 0元"); } } else //對應第 21行的if { System. out. println("預借現金金額為 0元"); } } }

『選擇性』敘述 巢狀式選擇敘述 【實用範例4 -7】:使用單一層的if或if-else敘述設計具有範例4 -6效果的程式。 範例4 -7:ch 4_07. java(隨書光碟 my. Javach 04ch 4_07. java)

『選擇性』敘述 巢狀式選擇敘述 【實用範例4 -7】:使用單一層的if或if-else敘述設計具有範例4 -6效果的程式。 範例4 -7:ch 4_07. java(隨書光碟 my. Javach 04ch 4_07. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 /* 檔名: ch 4_07. java 功能: 條件運算式的練習 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_07 //主類別 { public static void main(String args[]) { Console console=System. console(); int Credit, Status; //信用額度, 繳款狀態

『選擇性』敘述 巢狀式選擇敘述 15 16 17 18 19 20 21 22 23 24 25 26

『選擇性』敘述 巢狀式選擇敘述 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 double Year=0; // 持卡年份 System. out. print("請輸入信用額度: "); Credit=Integer. parse. Int(console. read. Line()); System. out. print("繳款是否正常(1: 正常, 0: 不正常): "); Status=Integer. parse. Int(console. read. Line()); if(Status!=1) { System. out. println("預借現金金額為 0元"); } else { System. out. print("請輸入持卡年份: "); Year=Double. parse. Double(console. read. Line()); } if((Status==1) && (Year>=0. 5) && (Year<1)) System. out. println("預借現金金額為" + (Credit*0. 5) + "元"); if((Status==1) && (Year>=1)) System. out. println("預借現金金額為" + Credit + "元"); if((Status==1) && (Year<0. 5)) System. out. println("預借現金金額為 0元"); } }

『選擇性』敘述 1 2 3 4 5 6 7 8 9 10 11 12 13

『選擇性』敘述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* 檔名: ch 4_08. java 功能: else-if格式的練習 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_08 //主類別 { public static void main(String args[]) { Console console=System. console(); int Score; System. out. print("請輸入計概成績: "); Score=Integer. parse. Int(console. read. Line()); if(Score<60) { System. out. println("分數等級為丁等"); } else if(Score<=69) { System. out. println("分數等級為丙等"); else if(Score<=79) { System. out. println("分數等級為乙等"); else if(Score<=89) { System. out. println("分數等級為甲等"); else if(Score<=99) { System. out. println("分數等級為優等"); else if(Score==100) { System. out. println("完美分數"); } else { System. out. println("您輸入了不合法的分數"); } } } }

『選擇性』敘述 if與else的配對 1 2 3 4 5 6 7 8 9 10 11 12

『選擇性』敘述 if與else的配對 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 /* 檔名: ch 4_09. java 功能: if else的配對練習 */ package my. Java. ch 04; import java. lang. *; public class ch 4_09 //主類別 { public static void main(String args[]) { int Score=75; if(Score > 60) if(Score > 80) System. out. println("成績真不錯"); else System. out. println("成績差強人意"); } }

『選擇性』敘述 多向選擇敘述(switch-case敘述) 1 2 3 4 5 6 7 8 9 10 11 12

『選擇性』敘述 多向選擇敘述(switch-case敘述) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 4_10. java 功能: switch-case的練習 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_10 //主類別 { public static void main(String args[]) { Console console=System. console(); int Score; System. out. print("請輸入計概成績: "); Score=Integer. parse. Int(console. read. Line()); if((Score>=0) && (Score<=100)) switch(Score / 10) { case 10: System. out. println("完美分數"); break;

『選擇性』敘述 多向選擇敘述(switch-case敘述) 24 25 26 27 28 29 30 31 32 33 34 35

『選擇性』敘述 多向選擇敘述(switch-case敘述) 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 case 9: System. out. println("分數等級為優等"); break; case 8: System. out. println("分數等級為甲等"); break; case 7: System. out. println("分數等級為乙等"); break; case 6: System. out. println("分數等級為丙等"); break; default: System. out. println("分數等級為丁等"); break; 執行結果: } } } 請輸入計概成績: 99 分數等級為優等 請輸入計概成績: 75 分數等級為乙等

『迴圈』敘述 計數迴圈(for迴圈敘述) 11 12 13 14 15 16 17 18 19 20 21 22

『迴圈』敘述 計數迴圈(for迴圈敘述) 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 public static void main(String args[]) { Console console=System. console(); int Sum=0, n; System. out. print("請輸入N值: "); n=Integer. parse. Int(console. read. Line()); for(int i=1; i<=n; i=i+2) Sum=Sum+i; if((n%2)==1) System. out. println("1+3+. . . +N=" + Sum); else System. out. println("1+3+. . . +N-1=" + Sum); 執行結果: } } 請輸入N值: 7 1+3+. . . +N=16 請輸入N值: 8 1+3+. . . +N-1=16

『迴圈』敘述 計數迴圈(for迴圈敘述) 1 2 3 4 5 6 7 8 9 10 11 12

『迴圈』敘述 計數迴圈(for迴圈敘述) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 /* 檔名: ch 4_13. java 功能: for迴圈的示範 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_13 //主類別 { public static void main(String args[]) { Console console=System. console(); int Sum=0, n; System. out. print("請輸入N值: "); n=Integer. parse. Int(console. read. Line()); for(int i=1; ((n%2)==1)? (i<=n): (i<=n-1); i++) if((i%2)==1) Sum=Sum+i; if((n%2)==1) System. out. println("1+3+. . . +N=" + Sum);

『迴圈』敘述 計數迴圈(for迴圈敘述) 【實用範例4 -14】: 使用 2層for迴圈設計九九乘法表。 範例4 -14:ch 4_14. java(隨書光碟 my. Javach 04ch 4_14.

『迴圈』敘述 計數迴圈(for迴圈敘述) 【實用範例4 -14】: 使用 2層for迴圈設計九九乘法表。 範例4 -14:ch 4_14. java(隨書光碟 my. Javach 04ch 4_14. java) 1 2 3 4 5 6 7 8 9 10 /* 檔名: ch 4_14. java 功能: 多層for迴圈的示範 */ package my. Java. ch 04; import java. lang. *; public class ch 4_14 //主類別 { public static void main(String args[])

『迴圈』敘述 計數迴圈(for迴圈敘述) 11 12 13 14 15 16 17 18 19 { for(int i=1;

『迴圈』敘述 計數迴圈(for迴圈敘述) 11 12 13 14 15 16 17 18 19 { for(int i=1; i<=9; i++) { for(int j=1; j<=9; j++) System. out. print(i + "*" + j + "=" + i*j + "t"); System. out. println(); } 執行結果: } 1*1=1 2*1=2 3*1=3 4*1=4 5*1=5 6*1=6 7*1=7 8*1=8 9*1=9 } 1*2=2 2*2=4 3*2=6 4*2=8 5*2=10 6*2=12 7*2=14 8*2=16 9*2=18 1*3=3 2*3=6 3*3=9 4*3=12 5*3=15 6*3=18 7*3=21 8*3=24 9*3=27 1*4=4 2*4=8 3*4=12 4*4=16 5*4=20 6*4=24 7*4=28 8*4=32 9*4=36 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 6*5=30 7*5=35 8*5=40 9*5=45 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 7*6=42 8*6=48 9*6=54 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 8*7=56 9*7=63 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 9*8=72 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

『迴圈』敘述 計數迴圈(for迴圈敘述) 1 2 3 4 5 6 7 8 9 10 11 12

『迴圈』敘述 計數迴圈(for迴圈敘述) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* 檔名: ch 4_15. java 功能: continue敘述的示範 */ package my. Java. ch 04; import java. lang. *; public class ch 4_15 //主類別 { public static void main(String args[]) { int Sum=0; for(int i=1; i<=10; i++) { if((i%2)==1) continue; Sum=Sum+i; } System. out. println("2+4+6+8+10=" + Sum); } }

『迴圈』敘述 計數迴圈(for迴圈敘述) 【觀念範例4 -16】:使用break敘述強迫中途跳出迴圈。 範例4 -16:ch 4_16. java(隨書光碟 my. Javach 04ch 4_16. java) 1

『迴圈』敘述 計數迴圈(for迴圈敘述) 【觀念範例4 -16】:使用break敘述強迫中途跳出迴圈。 範例4 -16:ch 4_16. java(隨書光碟 my. Javach 04ch 4_16. java) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 /* 檔名: ch 4_16. java 功能: break敘述的示範 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_16 //主類別 { public static void main(String args[]) { Console console=System. console(); int Sum=0, i, n;

『迴圈』敘述 計數迴圈(for迴圈敘述) 16 17 18 19 20 21 22 23 24 25 26 System.

『迴圈』敘述 計數迴圈(for迴圈敘述) 16 17 18 19 20 21 22 23 24 25 26 System. out. print("求1~N的總和, 請輸入N值: "); n=Integer. parse. Int(console. read. Line()); for(i=1; i<=n; i++) { if(Sum>Integer. MAX_VALUE-100) break; Sum=Sum+i; } System. out. println("1~" + (i-1) + "的總和為" + Sum); 執行結果: } } 求1~N的總和, 請輸入N值: 10000 1~5004393的總和為 2147483581

『迴圈』敘述 前測式條件迴圈(while迴圈敘述) 【實用範例4 -17】:使用前測式while迴圈,撰寫一個根據輾 轉相除法求兩數最大公因數的程式。輾轉相除法範例如右: 範例4 -17:ch 4_17. java(隨書光碟 my. Javach 04ch 4_17. java)

『迴圈』敘述 前測式條件迴圈(while迴圈敘述) 【實用範例4 -17】:使用前測式while迴圈,撰寫一個根據輾 轉相除法求兩數最大公因數的程式。輾轉相除法範例如右: 範例4 -17:ch 4_17. java(隨書光碟 my. Javach 04ch 4_17. java) 1 2 3 4 5 6 7 8 9 10 11 12 /* 檔名: ch 4_17. java 功能: while迴圈的示範 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_17 //主類別 { public static void main(String args[]) {

4. 3 『迴圈』敘述 前測式條件迴圈(while迴圈敘述) 13 14 15 16 17 18 19 20 21 22

4. 3 『迴圈』敘述 前測式條件迴圈(while迴圈敘述) 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 Console console=System. console(); int x, y, gcd, temp; System. out. print("輸入x: "); x=Integer. parse. Int(console. read. Line()); System. out. print("輸入y: "); y=Integer. parse. Int(console. read. Line()); System. out. print("(" + x + ", " + y + ")="); if(x<y) // 將較大的數值放在x, 較小的放在y { temp = x; x = y; y = temp; // x, y數值對調 } while(x!=0) { x=x%y; if(x!=0) { temp = x; x = y; y = temp; // x, y數值對調 } } gcd=y; System. out. println(gcd); } }

『迴圈』敘述 1 2 3 4 5 6 7 8 9 10 11 12 13

『迴圈』敘述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 /* 檔名: ch 4_18. java 功能: do-while迴圈的示範 */ package my. Java. ch 04; import java. lang. *; import java. io. Console; public class ch 4_18 //主類別 { public static void main(String args[]) { Console console=System. console(); char input. Char; String input. Str=new String(); System. out. println("Game Over. . . "); do { System. out. print("Play Again? (y/n)"); input. Str=console. read. Line(); //讀取鍵盤輸入的一行字串 input. Char=input. Str. char. At(0); //見說明 }while((input. Char!='y') && (input. Char!='n')); } }