1. 程式人生 > 其它 >Java基礎1-1-3—java基礎語法(條件控制語句)

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後面的值只能是常量,不能是變數