if選擇結構解析(二)
1.switch選擇結構:
語法:
switch (key) {
case value:
break;
case value:
break;
case value:
break;
default:
break;
}
根據key去匹配value的值,如果value的值跟key相同則走case塊中的代碼,然後執行完畢後結束,如果所有case塊都不匹配則會走default
如果想讓case塊執行完畢後跳出選擇結構則在case塊結尾處添加break
案例: /* 韓嫣參加計算機編程大賽 如果獲得第一名,將參加麻省理工大學組織的1個月夏令營 如果獲得第二名,將獎勵惠普筆記本電腦一部 如果獲得第三名,將獎勵移動硬盤一個 否則,不給任何獎勵*/ public class Demo01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("請輸入名次:");char count = input.next().charAt(0); /* * * 韓嫣參加計算機編程大賽 如果獲得第一名,將參加麻省理工大學組織的1個月夏令營 如果獲得第二名,將獎勵惠普筆記本電腦一部 * 如果獲得第三名,將獎勵移動硬盤一個 否則,不給任何獎勵 */ switch (count) { case ‘一‘: System.out.println("參加麻省理工大學組織的1個月夏令營 "); break; case ‘二‘: System.out.println("獎勵惠普筆記本電腦一部"); break; case ‘三‘: System.out.println("獎勵移動硬盤一個"); break; default: System.out.println("沒有獎勵!"); break; } }
2.註意問題:
1.case後面的常量必須各不相同
2.如果需要每個case執行完後跳出,在每個case後不要忘記寫break;
3.default塊順序可以變動,但要註意其執行順序。通常,default塊放在末尾,也可以省略
3.多重if選擇結構和switch比對
相同點:
都是用來處理多分支條件的結構
不同點:
switch選擇結構
只能處理等值條件判斷的情況
多重if選擇結構
沒有switch選擇結構的限制,特別適合某個變量處於某個連續區間時的情況
4.總結選擇結構:
if選擇結構
基本if選擇結構: 處理單一或組合條件的情況
if-else選擇結構:處理簡單的條件分支情況
多重if選擇結構:處理復雜的條件分支情況
嵌套if選擇結構:用於較為復雜的流程控制
switch選擇結構
多重分支並且條件判斷是等值判斷的情況
5.使用hasNextInt()解決用戶從控制臺輸入為非整型問題
public class Demo02 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("歡迎光臨我行我素管理系統"); System.out.println("\t\t1.登錄系統"); System.out.println("\t\t2.退出"); System.out.println("請選擇:"); if(input.hasNextInt()) { int number=input.nextInt(); switch (number) { case 1: System.out.println("歡迎登錄系統!!"); break; case 2: System.out.println("您退出了系統!!"); break; default: System.out.println("沒有輸入選項"); break; } }else{ System.out.println("請輸入正確的數字:"); } } }
if選擇結構解析(二)