Java決策製定
有兩種類型的決策在Java中的語句,它們分彆是:
-
if 語句
-
switch 語句
if 語句:
if語句由一個布爾表達式後跟一個或多個語句。
語法:
if語句的語法是:
if(Boolean_expression) { //Statements will execute if the Boolean expression is true }
如果布爾表達式的值為 true,那麼代碼裡麵的塊if語句將被執行。如果不是第一套代碼的if語句(後右大括號)結束後,將被執行。
例子:
public class Test { public static void main(String args[]){ int x = 10; if( x < 20 ){ System.out.print("This is if statement"); } } }
這將產生以下結果:
This is if statement
if...else 語句:
if 語句後麵可以跟一個可選的 else 語句,語句執行時的布爾表達式為 false。
語法:
if...else 的語法是:
if(Boolean_expression){ //Executes when the Boolean expression is true }else{ //Executes when the Boolean expression is false }
實例:
public class Test { public static void main(String args[]){ int x = 30; if( x < 20 ){ System.out.print("This is if statement"); }else{ System.out.print("This is else statement"); } } }
這將產生以下結果:
This is else statement
if...else if...else 語句:
if後麵可以跟一個可選的 else if...else語句,這是一個使用單一的,測試各種條件下非常有用 if... else if語句。
當使用 if , else if , else 語句時有幾點要牢記。
-
if 可以有0個或冇有 else 且它必須在else if 的之後。
-
if 可以有0個或多個 else if,但是它們必須在else之前。
-
一旦 else if 成功, 餘下else if 不會被測試執行。
語法:
if...else 的語法是:
if(Boolean_expression 1){ //Executes when the Boolean expression 1 is true }else if(Boolean_expression 2){ //Executes when the Boolean expression 2 is true }else if(Boolean_expression 3){ //Executes when the Boolean expression 3 is true }else { //Executes when the none of the above condition is true. }
例子:
public class Test { public static void main(String args[]){ int x = 30; if( x == 10 ){ System.out.print("Value of X is 10"); }else if( x == 20 ){ System.out.print("Value of X is 20"); }else if( x == 30 ){ System.out.print("Value of X is 30"); }else{ System.out.print("This is else statement"); } } }
這將產生以下結果:
Value of X is 30
嵌套 if...else 語句:
它始終是合法的嵌套if-else語句,這意味著你可以使用一個if或else if語句在另一個if或else if語句。
語法:
嵌套 if...else 的語法如下:
if(Boolean_expression 1){ //Executes when the Boolean expression 1 is true if(Boolean_expression 2){ //Executes when the Boolean expression 2 is true } }
可以嵌套 else if...else 在類似的方式,因為我們有嵌套的if語句。
實例:
public class Test { public static void main(String args[]){ int x = 30; int y = 10; if( x == 30 ){ if( y == 10 ){ System.out.print("X = 30 and Y = 10"); } } } }
這將產生以下結果:
X = 30 and Y = 10
switch 語句:
switch 語句允許一個變量來對值的列表相等進行測試。每個值被稱為一個例子,並且在選擇測試該變量被檢查的每種情況。
語法:
增強的 for循環的語法是:
switch(expression){ case value : //Statements break; //optional case value : //Statements break; //optional //You can have any number of case statements. default : //Optional //Statements }
以下規則適用於switch語句:
-
在switch語句中使用的變量隻能是一個字節,short,int和或char。
-
可以switch 有一個任何數量的case語句。每個案例後麵進行比較的值和一個冒號。
-
對於 case 的值必須是相同的數據類型作為開關變量,它必須是一個常量或文字。
-
當被打開了變量等於的情況下,下列那 case 語句將執行,直到 break 語句為止。
-
當達到一個break語句,switch 終止,並且控製流程跳轉到下一行下麵 switch語句。
-
不是每一個 case 需要包含break。如果冇有出現break,控製流將貫穿到後麵的 case 直到 break 為止。
-
switch語句可以有一個可選默認 case ,它必須出現在 switch 的結束。缺省情況下,可用於執行任務時,冇有case是true。冇有break 是必須的,使用 default 。
例子:
public class Test { public static void main(String args[]){ //char grade = args[0].charAt(0); char grade = 'C'; switch(grade) { case 'A' : System.out.println("Excellent!"); break; case 'B' : case 'C' : System.out.println("Well done"); break; case 'D' : System.out.println("You passed"); case 'F' : System.out.println("Better try again"); break; default : System.out.println("Invalid grade"); } System.out.println("Your grade is " + grade); } }
編譯並運行上麵使用各種命令行參數的程序。這將產生以下結果:
$ java Test Well done Your grade is a C $
下一步?
下一章討論了有關Number類(在java.lang包中)和Java語言及其子類。
我們將尋找到一些使用這些類的實例化,而不是原始數據類型,以及類如格式化,需要了解與Number 的數學函數的情況。