Java 基礎分支語句之程式流程控制switch-case
阿新 • • 發佈:2020-07-23
格式:
分支結構之二:switch-case 格式 switch (表示式){ case常量: 執行語句 //break;可省了 case 常量2: 執行語句; //break; 可省了 ... dfault: 執行語句; } 說明: 根據Switch表示式中的值。依次匹配各個case中的常量,一旦匹配成功,則進入case結構中,調其執行語句 當呼叫完執行語句以後,則仍往下執行其他case裡的語句,直到遇到break關鍵字或者switch - case結構末尾止結束; break,可以使用在switch-case結構中,表示一旦執行到此關鍵字,就跳出switch-case結構 switch結構中表達式,只能是如下六種資料型別之一 byte 、short 、char 、int 、列舉型別(JDK1.5新增)、String型別(JDK7.0新增)
示例
public class HelloWorld { public static void main(String[] args) { int number = 2; switch (number){ case 0: System.out.println("zero"); break; case 2: System.out.println("one"); break;//執行後會打斷後續執行流程 case 3: System.out.println("two"); break; default: System.out.println("other"); } } } 測試 one
示例2
public class HelloWorld { public static void main(String[] args) { int number = 2; switch (number){ case 0: System.out.println("zero"); //break; case 2: System.out.println("one"); //break; case 3: System.out.println("two"); //break; default: System.out.println("other"); } } } 測試 one two other
綜合程式碼測試
import java.util.Scanner; public class HelloWorld { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int number = 2; switch (number) { case 0: System.out.println("zero"); break; case 2: System.out.println("one"); break; case 3: System.out.println("two"); break; default: System.out.println("other"); } // 獲取char 型別變數,Scanner沒有相關方法,只能獲取一個字串 System.out.println("請輸入您的性別:"); String gender = scan.next(); char genderChar = gender.charAt(0);//轉換成char型別的操作;獲取索引為0 為真上的字元 System.out.println(genderChar); System.out.println("請輸入字元:"); String Char = scan.next(); //char cha = Char.charAt(0); switch (Char) { case "a": System.out.println("A"); break; case "b": System.out.println("B"); break; case "c": System.out.println("C"); break; case "d": System.out.println("D"); break; case "e": System.out.println("E"); break; default: System.out.println("other"); } System.out.println("請輸入成績:"); int score = scan.nextInt(); switch (score/10) {//對10 取模 case 0: //System.out.println("不及格:"); //break; case 2: //System.out.println("不及格"); //break; case 3: //System.out.println("不及格"); //break; case 4: //System.out.println("不及格"); //break; case 5: System.out.println("不及格"); break; case 6: //System.out.println("及格"); //break; case 7: //System.out.println("及格"); //break; case 8: //System.out.println("及格"); //break; case 9: //System.out.println("及格"); //break; case 10: System.out.println("及格"); break; default: System.out.println("輸入的不正確"); } System.out.println("請輸入你家狗狗年齡:"); int dogage = scan.nextInt(); if (dogage < 0) { System.out.println("狗狗未出生"); } else if (dogage <= 2) { System.out.println(dogage * 10.2); } else { System.out.println((dogage-2)*5+2*10.2); } System.out.println("請輸入月份"); int month = scan.nextInt(); System.out.println("請輸入幾號:"); int day = scan.nextInt(); int sumdays = 0; switch (month){ case 12: sumdays += 30; case 11: sumdays += 31; case 10: sumdays += 30; case 9: sumdays += 31; case 8: sumdays += 31; case 7: sumdays += 30; case 6: sumdays += 31; case 5: sumdays += 30; case 4: sumdays += 31; case 3: sumdays += 28; case 2: sumdays += 31; case 1: sumdays += day; default: System.out.println("是今年第"+sumdays+"天"); } } } 測試 one 請輸入您的性別: n n 請輸入字元: a A 請輸入成績: 60 及格 請輸入你家狗狗年齡: 8 50.4 請輸入月份 9 請輸入幾號: 17 是今年第260天