分支結構主要是根據 布爾表達式 的判斷結果來決定是否執行某段程序代碼,Java中提供有兩類分支結構:if分支結構和 switch開關語句。
1、if分支結構
主要是針對邏輯運算的處理結果來判斷是否執行某段代碼,在 Java中使用 if與 else兩個關鍵字來實現。
if判斷 if...else判斷 多條件判斷
if (布爾表達式) { if (布爾表達式) { if (布爾表達式) {
條件滿足時執行; 條件滿足時執行; 條件滿足時執行;
} } else { } else if (布爾表達式) {
條件不滿足時執行; 條件滿足時執行;
} } else if (布爾表達式) {
條件滿足時執行;
} [else {
條不滿足時執行;
}]
例53:使用 if語句結構
public class JavaDemo048 {
public static void main(String[] args) {
int age = 20;
if (age >= 18 && age <= 22) {// 邏輯判斷
System.out.println("我還是個學生");
}
System.out.println("我可能還是個學生吧~");
}
}
說明: if語句是根據邏輯判斷條件的結果來決定是否要執行代碼中的語句。
例54:使用 if… else…語句結構
public class JavaDemo049 {
public static void main(String[] args) {
double money = 10.00;
if (money >= 19.8) {
System.out.println("來份蓋飯!");
} else {
System.out.println("還是來份炒飯吧");
}
System.out.println("沒錢只能吃泡麪了!");
}
}
說明: if… else 語句執行布爾表達式的判斷,如果條件滿足則執行 if語句代碼,如果條件不滿足則執行 else語句代碼。
例55:多條件判斷
public class JavaDemo050 {
public static void main(String[] args) {
double score = 90.00;// 考試成績
if (score >= 90) {
System.out.println("優");// 判斷條件1
} else if (score >= 60 && score < 90) {
System.out.println("良");// 判斷條件2
} else {
System.out.println("差");// 條件不滿足時執行
}
}
}
說明: 使用 if多條件判斷可以進行更多的布爾條件的判斷,第一個條件使用 if結構定義,其餘的條件使用 else if結構定義,如果所有的條件都不滿足,則執行 else語句代碼。
2、switch開關語句
switch是一個開關語句,主要根據內容進行判斷;並且只能判斷數據 (int、char、枚舉、String),而不能進行布爾表達式的判斷。
switch (整型 | 字符 | 枚舉 | String){
case 內容: {
內容滿足時執行;
[break;]
}
case 內容: {
內容滿足時執行;
[break;]
}
case 內容: {
內容滿足時執行;
[break;]
}...
[default : {
內容不滿足時執行;
[break;]
}]
}
}
注意:if可以判斷布爾表達式,而 switch只能判斷內容。
switch判斷在最早的時候只能進行整型或字符的判斷,JDK1.5時開始支持枚舉判斷,JDK1.7時支持 String的判斷。
switch語句默認情況下會從第一個滿足的 case語句開始執行全部的語句代碼,一直到整個 switch執行完畢或遇見 break語句。
例56:使用 switch語句
public class JavaDemo051 {
public static void main(String[] args) {
int ch = 1;
switch (ch) {// 整型內容判斷
case 2:// 匹配內容1
System.out.println("輸出2");
case 1: {// 匹配內容2
System.out.println("輸出1");
}
default: {// 匹配不成功時執行
System.out.println("啥都不輸出");
}
}
}
}
例57:使用 break語句中斷其餘 case
public class JavaDemo052 {
public static void main(String[] args) {
int ch = 1;
switch (ch) {// 整型內容判斷
case 2:// 匹配內容1
System.out.println("輸出2");
break;// 中斷後續執行
case 1: {// 匹配內容2
System.out.println("輸出1");
break;// 中斷後續執行
}
default: {// 匹配不成功時執行
System.out.println("無輸出");
break;// 中斷後續執行
}
}
}
}
例58:使用 switch判斷字符串內容
public class JavaDemo053 {
public static void main(String[] args) {
String str = "csdn";// 字符串變量
switch (str) {// 直接對字符串內容進行判斷
case "CSDN": {// 大寫判斷
System.out.println("輸出CSDN");
break;
}
case "csdn": {// 小寫判斷
System.out.println("輸出csdn");
break;
}
default: {// 判斷不滿足時執行
System.out.println("無匹配項");
break;
}
}
}
}
注:switch語句判斷區分大小寫。