Java基礎1-1-3—java基礎語法(條件控制語句)
3、 條件控制語句
3.1 流程控制語句-順序結構
流程控制語句:通過一些語句,來控制程式的【執行流程】
流程控制語句分類:
順序結構
分支結構(if,switch)
迴圈結構(for,while,do...while)
順序結構語句是Java程式,預設的執行流程,按照程式碼的先後順序依次執行。
從上到下,從左到右。
3.2 if語句格式1
if語句格式
格式:
if(關係表示式){
語句體;
}
執行流程:
1、首先計算關係表示式的值
2、如果關係表示式的值為true就執行語句體
3、如果關係表示式的值為false就不執行語句體
4、繼續執行後面的語句內容
if語句注意事項
注意事項:
1、if語句所控制的語句體,如果是一條語句,大括號可以省略不寫(但是不建議)
2、if語句的小括號後面,沒有分號
3.3 if語句格式2
if語句格式2
格式:
if(關係表示式){
語句體1;
}else{
語句體2;
}
執行流程:
1、首先計算關係表示式的值
2、如果關係表示式的值為true就執行語句體1
3、如果關係表示式的值為false就執行語句題2
4、繼續執行後面的語句內容
3.4 if語句格式3
格式:
if(判斷條件1){
語句體;
}else if(判斷條件2){
語句體2;
}
...
else{
語句體n+1;
}
執行流程:
1、首先計算判斷條件1的值
2、如果值為true就執行語句體1;如果值為false就計算判斷條件2的值
3、如果值為true就執行語句體2;入股值為false就計算判斷條件3的值
4、...
5、如果沒有任何判斷條件為true,就執行語句體n+1。
public static void main(String[] args){ int score = -1; if(score >= 90 && score <= 100){ System.out.println("優秀"); }else if (score >= 80 && score <= 89){ System.out.println("良好"); }else if (score >= 70 && score <= 79){ System.out.println("中等"); }else if (score >= 60 && score <= 69){ System.out.println("及格"); }else if (score >= 0 && score <= 59){ System.out.println("請努力加油!"); }else{ System.out.println("成績有誤!"); } }
3.5 switch語句的case穿透現象
switch語句的case穿透現象
需求:鍵盤錄入星期數,輸出工作日、休息日。
(1-5)工作日,(6-7)休息日。
case穿透是如何產生的?
如果switch語句中,case省略了break語句,就會開始case穿透。
現象:當開始case穿透,後續的case就不會具有匹配效果,內部的語句都會執行
直到看見break,或者將整體switch語句執行完畢,才會結束。
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("請輸入星期數:");
int week = sc.nextInt();
switch(week){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;
case 6:
case 7:
System.out.println("休息日");
break;
default:
System.out.println("您的輸入有誤");
break;
}
}
當開始case穿透,後續的case就不會具有匹配效果,內部的語句都會執行直到看到break,或者將整體switch語句執行完畢,才會結束。
當發現switch語句中,多個case給出的語句體出現了重複的,就可以考慮使用case穿透來優化程式碼。
3.6 分支語句switch語句
switch語句格式和說明
注意事項:
1、case給出的值不允許重複
2、case後面的值只能是常量,不能是變數