一、Java條件語句之 if 語句
語法 if(條件){
條件成立時執行的代碼
}
執行過程:
如:
public class if_demo{
public static void main(String[] args){
int score=95;
if(score>90){
System.out.println("獎勵一個筆記本電腦");
}
}
}
注意:如果 if 條件成立時的執行語句只有一條,是可以省略大括號(不建議省略)。但執行語句有多條,就不可省略。
1.1 Java條件語句之 if...else
-
if...else.... 語句的操作比 if 語句多了一步: 當條件成立時,則執行 if 部分的代碼塊; 條件不成立時, 則進入 else 部分。例如,如果考試成績大於 90 分,則獎勵一個筆記本電腦 ,否則罰做 500 個俯卧撐。
語法:
if (條件的布爾表達式true/false){
代碼塊1
}else{
代碼塊2
}
執行過程:
如:
public class if_demo{
public static void main(String[] args){
int score=95;
if(score>90){
System.out.println("獎勵一個筆記本電腦");
}else{
System.out.println("罰款500個俯卧撐");
}
}
}1.2 Java條件語句之多重 if
多重 if 語句,在條件 1 不滿足的情況下,才會進行條件 2 的判斷;當前面的條件均不成立時,才會執行 else 塊內的代碼。例如,如果考試成績大於 90 分,則獎勵一個 筆記本電腦 ,如果成績介於 70 分至 90 分之間,則獎勵一個華為手機,否則罰做 500 個俯卧撐。
語法:
if(條件1){
代碼塊1
}else if(條件2){
代碼塊2
}.......else{
代碼塊3
}
執行過程:
如:
public class if_demo{
public static void main(String[] args){
int score=95;
if(score>90){
System.out.println("獎勵一個筆記本電腦");
}else if(score>70){
System.out.println("獎勵一個華為手機");
}else{
System.out.println("罰款500個俯卧撐");
}
}
}
}該段代碼的含義是:如果 score 值大於90,則獎勵一個筆記本電腦,當 score 值小於等於 90 時,先判斷 score 是否大於 70 ,如果 score 是介於 70--90 之間,則獎勵一個華為手機,如果成績小於等於 70 ,則罰做 500 個俯卧撐
當需要判斷的條件是連續的區間時,使用多重 if 語句是非常方便
1.3 Java條件語句之嵌套 if
嵌套 if 語句,只有當外層 if 的條件成立時,才會判斷內層 if 的條件。例如,活動計划的安排,如果今天是工作日,則去上班,如果今天是周末,則外出游玩;同時,如果周末天氣晴朗,則去室外游樂場游玩,否則去室內游樂場游玩。
語法:
if(條件1){
if(條件2){
代碼塊1
}else {
代碼塊2
}else{
代碼塊3
}
}
執行流程:
如:
public class if_demo{
public static void main(String[] args){
String today = "周末";
String weekend = "晴朗";
if(today.equals("周末")){ //注:外層結構
if(weekend.equals("晴朗")){ //注: 內層結構
System.out.println("去室外游樂場游玩");
}else{
System.out.println("去室內游樂場游玩");
}
}else{
System.out.println("去上班");
}
}擴展知識點: equals ( )用於判斷字符串的內容是否相同,相同則返回true,反之false
二、Switch 語句
switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。
2.1語法:
switch(變量){
case 條件:
//語句
break; //可選
case 條件 :
//語句
break; //可選
//你可以有任意數量的case語句
default : //可選
//語句
break; //可選
}
如:打印出1-12月對應的季節。
public class Switch_demo{
public static void main(String[] args){
//模擬一個月份
int month =7;
switch(month){
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
}
}
}
break; 起到終止的作用,如果將break去掉之后,語句直接往下執行,稱這種情況為穿透。
示例:
default 語句可以隨意寫,也可以不寫。上面的例子中都是沒有寫default;下圖示例default隨意寫執行的結果不受影響:
注意點:1.switch 適用於結果確定,結果數量確定(不易過多,一般12個左右)
2.default 的位置可以隨意寫。
3.break起到終止的作用
4.當注釋掉break/不寫之后,語句可以直接往下執行,稱這種情況為穿透
5.switch可以支持的類型 byte short int JDK1.5及之后支持enum枚舉 JDK1.7之后支持String
如何選擇(if 和 switch)
當結果確定且數量少,建議選擇 switch ,如果是常量判斷也可以選擇使用switch