019_JAVA流程控制_選擇結構
阿新 • • 發佈:2022-03-16
if選擇結構包括if單選擇結構、i雙f選擇結構、if多選擇結構、巢狀的if選擇結構。
-
if單選擇結構
-
語法
if(布林表示式){
//如果布林表示式為true將執行語句
}-
例子
Scanner scanner =new Scanner(System.in);
System.out.println("請輸入內容");
String s = scanner.nextLine();
//equals 判斷字串是否相等 講==運算子時有提及
if (s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
-
-
if雙選擇結構
-
語法
if(布林表示式){
//如果布林表示式為true將執行語句
}else{
//如果布林表示式為false將執行語句
}-
例子
String name = "小何呀";
if(name.equals("小何呀")){
System.out.println("這個人是小何呀");
}else{
System.out.println("這個人不是小何呀");
}
-
-
if多選擇結構
-
語法
if(布林表示式1){
//如果布林表示式1為true將執行語句
}else if(布林表示式){
//如果布林表示式2為true將執行語句(且布林表示式1為false)
}else if(布林表示式3){
//如果布林表示式3為true將執行語句(且布林表示式1和2都為false)
}
...
}else{
//如果以上布林表示式都為false將執行語句
}-
例子
/*
if語句至多有一個else語句,else語句在所有的else if 語句之後
if語句可以有若干個else if 語句,它們必須在else語句之前
一旦其中一個else if語句檢測為true,其他的else if 和else語句都將跳過執行
*/
Scanner scanner1 = new Scanner(System.in);
System.out.println("請輸入成績:");
int score = scanner1.nextInt();
if (score == 100){
System.out.println("恭喜滿分!");
}else if(score < 100 && score >= 90){
System.out.println("A級");
}
else if(score < 90 && score >= 80){
System.out.println("B級");
}
else if(score < 80 && score >= 70){
System.out.println("C級");
}
else if(score < 70 && score >= 60){
System.out.println("D級");
}else if(score < 60 && score >= 0){
System.out.println("不及格!");
}else{
System.out.println("成績不合法!");
}
//不及格不能作為else語句,是為了保證程式的完整性。因為會有可能輸入的成績不在合理範圍內
scanner1.close(); -
-
巢狀的if選擇結構:以上if結構的巢狀,及一個if語句中包含另一個if語句
int num1 = 100;
int num2 = 400;
if(num1 != num2){
//巢狀
if(num1>num2){
System.out.println(num1 +">"+num2);
}else{
System.out.println(num1 +"<"+num2);
}
}else{
System.out.println(num1 +"="+num2);
}
二、Switch多選擇結構
-
switch case 語句判斷一個變數與一系列值是否相等,每一個值稱為一個分支
-
語法
-
Switch(expression){
case value1:
//語句
break;
case value2:
//語句
break;
//可以有任意數量的case語句
default://可選
//語句
}
-
-
變數型別
-
expression:byte 、short、 int or char,從JAVA SE7開始,Switch支援字串String型別
-
同時case標籤(value)必須為字串常量或字面量
-
-
例子:輸出 小何呀
String name = "小何呀";
switch (name){
case "小何呀":
System.out.println("小何呀");
break;
case "小小呀":
System.out.println("小小呀");
break;
default:
System.out.println("弄啥嘞!");
}
/*
注意Case穿透現象,如果case內沒有break,則當找到滿足的case值後,其後的case也會執行,指導遇到break或全部結束
*/case “小何呀“和case”小小呀“都沒有break時:
case “小何呀“沒有break時: