一、選擇結構
- 選擇結構用于判斷給定的條件,根據判斷的結果來控制程式的流程,
- Java中選擇結構的語法主要分為'if...else'陳述句和'switch...case'陳述句,
- Java中選擇結構陳述句在語法上可以隨意嵌套,但不建議嵌套太深,會降低代碼可讀性,
二、'if...else'陳述句
描述:'if'單詞意為如果,'else'單詞意為否則,Java中使用'if...else'相關陳述句進行條件判斷,
分類:
- 'if'單選擇結構
- 'if'雙選擇結構
- 'if'多選擇結構
Ⅰ、'if'單選擇結構
語法:
if(/* 布爾運算式 */){
/* 如果布爾運算式為true將執行的陳述句 */
}
描述:
- 一個'if'陳述句包含一個布爾運算式和一潭訓多條陳述句,
- 如果布爾運算式的值為'true',則執行'if'陳述句中的代碼塊,否則執行'if'陳述句塊后面的代碼,
示例:
/* 運行結果為控制臺輸出:這是if陳述句 */
public static void main(String args[]){
int x = 10;
if(x < 20){
System.out.print("這是if陳述句");
}
}
Ⅱ、'if'雙選擇結構
語法:
if(/* 布爾運算式 */){
/* 如果布爾運算式的值為true將執行的陳述句 */
}else{
/* 如果布爾運算式的值為false將執行的陳述句 */
}
描述:
- 'if'陳述句后面可以跟'else'陳述句,當'if'陳述句的布爾運算式值為'false'時,'else'陳述句塊會被執行,
示例:
/* 運行結果為控制臺輸出:這是else陳述句 */
public static void main(String args[]){
int x = 30;
if(x < 20){
System.out.print("這是if陳述句");
}else{
System.out.print("這是else陳述句");
}
}
Ⅲ、'if'多選擇結構
語法:
if(/* 布爾運算式1 */){
/* 如果布爾運算式1的值為true,將執行的陳述句 */
}else if(/* 布爾運算式2 */){
/* 如果布爾運算式1的值為false,且布爾運算式2的值為true,將執行的陳述句 */
}else if(/* 布爾運算式3 */){
/* 如果布爾運算式1和布爾運算式2的值都為false,而布爾運算式3的值為true,將執行的陳述句 */
}else{
/* 如果布爾運算式1、布爾運算式2和布爾運算式3的值都為false,將執行的陳述句 */
}
描述:
- 'if'陳述句后面可以跟'else if…else'陳述句,而且'else if'陳述句可以重復使用,這種陳述句可以檢測到多種可能的情況,
注意:
- 'if'陳述句至多有 1 個'else'陳述句,'else'陳述句在所有的'else if'陳述句之后,
- 'if'陳述句可以有若干個'else if'陳述句,它們必須在'else'陳述句之前,
- 一旦其中一個'else if'陳述句或'if'陳述句檢測為true,其他的'else if'以及'else'陳述句都將跳過執行,
示例:
/* 運行結果為控制臺輸出:這是第二個if else陳述句 */
public static void main(String args[]){
int x = 30;
if(x < 20){
System.out.print("這是if陳述句");
}else if(x < 30){
System.out.print("這是if else陳述句");
}else if(x < 40){
System.out.print("這是第二個if else陳述句");
}else{
System.out.print("這是else陳述句");
}
}
三、'switch'多選擇結構
語法:
switch(variable){
case value1:
/* 若變數的值與value1相同,將執行的陳述句 */
break;/* break陳述句為可選項 */
case value2:
/* 若變數的值與value2相同,將執行的陳述句 */
break;
case value3:
/* 若變數的值與value3相同,將執行的陳述句 */
break;
default:/* default陳述句為可選項 */
/* 若變數的值與value1、value2、value3都不同,將執行的陳述句 */
}
描述:
- 'switch...case'陳述句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支,
注意:
- 'switch...case'陳述句中的變數型別可以是byte、short、int、char,從JavaSE7開始,'switch...case'陳述句支持String型別了,同時case標簽必須為字串常量或字面量,
- 'switch'陳述句可以擁有多個'case'陳述句,每個'case'后面跟一個要比較的值和冒號,'case'陳述句中的值的資料型別必須與變數的資料型別相同,而且只能是常量或者字面常量,
- 當變數的值與'case'陳述句的值相等時,那么'case'陳述句之后的陳述句開始執行,直到'break'陳述句出現才會跳出'switch'陳述句,執行'switch'代碼塊下面的代碼,
- 'case'陳述句不是必須要包含'break'陳述句,如果沒有'break'陳述句出現,程式會繼續執行下一條'case'陳述句,直到出現'break'陳述句,
- 'case'陳述句可以多次重復使用,
- 'switch'陳述句可以包含一個'default'陳述句分支,該分支一般是'switch'陳述句的最后一個分支(可以在任何位置,但建議在最后一個),'default'在沒有'case'陳述句的值和變數值相等的時候執行,'default'分支不需要'break'陳述句,
- 'switch...case'陳述句執行時,一定會先進行匹配,匹配成功則執行該分支里的陳述句,再根據是否有'break',判斷是否繼續執行下面其他分支里的陳述句,或是跳出整個'switch...case'陳述句,
示例:
/* 運行結果為控制臺依次輸出:1 2 3 */
public static void main(String args[]){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3");
break;
default:
System.out.println("default");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/201286.html
標籤:Java
上一篇:keycloak~自定義redirect_uri的方法
下一篇:并發編程之美(基礎篇)- 筆記
