java分支語句,也叫做java條件語句,也就是控制在什么情況下,去執行什么代碼,可以有選擇性的去執行部分的代碼,在分支語句中,有if分支和switch分支結構。
if分支,可以繼續細化為3種方式:
方式1:
if(表達式){
當表達式結果為true的時候,執行的語句塊;
}
事例代碼1:
1 public void method_1(){ 2 //定義一個變量num, 3 int num = 11; 4 //判斷當num大於10的時候就輸出,否則將不輸出 5 if(num > 10){ 6 //if里面的代碼,只有當num的值大於10的時候才會執行,否則將不會執行if大括號里面的代碼 7 System.out.println("num = "+num); 8 } 9 }
方式2:這種方式可以理解為:如果....否則....
if(表達式){
當表達式結果為true的時候,執行的語句塊;
}else{
當表達式結果為false的時候,執行的語句塊;
}
事例代碼2:
1 public void method_2(){ 2 //定義一個變量score,表示一個學生的成績: 3 double score = 60.1; 4 //判斷一個分數是否大於60,如果大於等於60,則輸出該學生考試及格,否則輸出該學生考試不及格 5 if(score >= 60){ 6 System.out.println("該學生考試及格"); 7 }else{ 8 System.out.println("該學生考試不及格"); 9 } 10 }
上面的代碼,只要運行,一定會與輸出語句,兩種情況一定會出現其中一種,如果score大於等於60,則執行if大括號里面的代碼,否則,執行else大括號里面的代碼
方式3:適用於當可能性大於了
if(表達式1){
當表達式1結果為true的時候,執行的語句塊;
}else if(表達式2){
當表達式2結果為true的時候,執行的語句塊;
}
......
else if(表達式n){
當表達式n結果為true的時候,執行的代碼;
}else{
當前面所有的表達式的結果都為false的時候,執行的語句塊,可省略.
}
事例代碼3:
1 public void method_3(){ 2 //定義一個變量age,代表年齡, 3 int age = 23; 4 //根據年齡判斷其是少年?青年?中年?老年 5 //0-14少年,15-30青年,31-60中年,61-130老年 6 if(age > 0 && age <= 14){ 7 System.out.println("少年"); 8 }else if(age >= 15 && age <= 30){ 9 System.out.println("青年"); 10 }else if(age >= 31 && age <= 60){ 11 System.out.println("中年"); 12 }else if(age >= 61 && age <= 130){ 13 System.out.println("老年"); 14 }else{ 15 System.out.println("年齡不合法"); 16 } 17 }
以上代碼為if...else if()形式的代碼,運行代碼的時候,將從if開始匹配,如果有if里面的表達式結果為true的時候,則執行該大括號里面的代碼,並且結束整個分支語句,也就是如果有表達式為true的時候,則剩下的表達式將不再匹配。
switch分支:
switch(值或者是變量){
case 值1:
當傳入的值和值1相同時,執行的語句塊;
break;
case 值2:
當傳入的值和值2相同時,執行的語句塊;
break;
......
case 值n:
當傳入的值和值n相同時,執行的語句塊;
break;
default:
當傳入的值和上面所有的case后面的值都不相同時,執行的代碼,和if里面的else作用一致;
}
這里的break的作用是:當傳入的值和case后面的值相同時,執行語句塊后,再執行break;將結束整個分支,剩下的case代碼將不再比較運行。
事例代碼4:
1 pulbic void method_4(){ 2 //定義一個變量,表示星期數,只能是1-7 3 int week = 1; 4 //將week的值傳入switch中 5 switch(week){ 6 case 1: 7 //week等於1時 8 System.out.println("今天星期一"); 9 break; 10 case 2: 11 //week等於2時 12 System.out.println("今天星期二"); 13 break; 14 case 3: 15 //week等於3時 16 System.out.println("今天星期三"); 17 break; 18 case 4: 19 //week等於4時 20 System.out.println("今天星期四"); 21 break; 22 case 5: 23 //week等於5時 24 System.out.println("今天星期五"); 25 break; 26 case 6: 27 //week等於6時 28 System.out.println("今天星期六"); 29 break; 30 case 7: 31 //week等於7時 32 System.out.println("今天星期天"); 33 break; 34 default: 35 //week不再1-7之內的時候 36 System.out.println("數字不合法,超過了7或者小於1"); 37 } 38 }