69pao国产精品视频-久久精品一区二区二三区-精品国产精品亚洲一本大道-99国产综合一区久久

Java switch 語句

java switch 語句

switch 語句用于基于不同條件執(zhí)行不同動作。通過判斷一個變量與一系列值中某個值是否相等,然后執(zhí)行對應(yīng)的分支。

 

1. java switch 語句的語法

switch(expression){
    case value :
       //語句
       break; //可選
    case value :
       //語句
       break; //可選
    //你可以有任意數(shù)量的case語句
    default : //可選
       //語句
}

switch case 語句有如下規(guī)則:

  • switch 語句中的變量類型可以是: byte、short、int 或者 char。從 java se 7 開始,switch 支持字符串 string 類型了,同時 case 標(biāo)簽必須為字符串常量或字面量。

  • switch 語句可以擁有多個 case 語句。每個 case 后面跟一個要比較的值和冒號。

  • case 語句中的值的數(shù)據(jù)類型必須與變量的數(shù)據(jù)類型相同,而且只能是常量或者字面常量。

  • 當(dāng)變量的值與 case 語句的值相等時,那么 case 語句之后的語句開始執(zhí)行,直到 break 語句出現(xiàn)才會跳出 switch 語句。

  • 當(dāng)遇到 break 語句時,switch 語句終止。程序跳轉(zhuǎn)到 switch 語句后面的語句執(zhí)行。case 語句不必須要包含 break 語句。如果沒有 break 語句出現(xiàn),程序會繼續(xù)執(zhí)行下一條 case 語句,直到出現(xiàn) break 語句。

  • switch 語句可以包含一個 default 分支,該分支一般是 switch 語句的最后一個分支(可以在任何位置,但建議在最后一個)。default 在沒有 case 語句的值和變量值相等的時候執(zhí)行。default 分支不需要 break 語句。

switch case 執(zhí)行時,一定會先進行匹配,匹配成功返回當(dāng)前 case 的值,再根據(jù)是否有 break,判斷是否繼續(xù)輸出,或是跳出判斷。

 

2. java switch 語句的范例

public class test {
   public static void main(string args[]){
      //char grade = args[0].charat(0);
      char grade = 'c';
 
      switch(grade)
      {
         case 'a' :
            system.out.println("優(yōu)秀"); 
            break;
         case 'b' :
         case 'c' :
            system.out.println("良好");
            break;
         case 'd' :
            system.out.println("及格");
            break;
         case 'f' :
            system.out.println("你需要再努力努力");
            break;
         default :
            system.out.println("未知等級");
      }
      system.out.println("你的等級是 " + grade);
   }
}

以上代碼編譯運行結(jié)果如下:

良好
你的等級是 c

如果 case 語句塊中沒有 break 語句時,jvm 并不會順序輸出每一個 case 對應(yīng)的返回值,而是繼續(xù)匹配,匹配不成功則返回默認(rèn) case。

public class test {
   public static void main(string args[]){
      int i = 5;
      switch(i){
         case 0:
            system.out.println("0");
         case 1:
            system.out.println("1");
         case 2:
            system.out.println("2");
         default:
            system.out.println("default");
      }
   }
}

以上代碼編譯運行結(jié)果如下:

default

如果 case 語句塊中沒有 break 語句時,匹配成功后,從當(dāng)前 case 開始,后續(xù)所有 case 的值都會輸出。

public class test {
   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");
         default:
            system.out.println("default");
      }
   }
}

以上代碼編譯運行結(jié)果如下:

1
2
default

如果當(dāng)前匹配成功的 case 語句塊沒有 break 語句,則從當(dāng)前 case 開始,后續(xù)所有 case 的值都會輸出,如果后續(xù)的 case 語句塊有 break 語句則會跳出判斷。

public class test {
   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");
      }
   }
}

以上代碼編譯運行結(jié)果如下:

1
2
3

下一節(jié):java 方法

java語言 教程

相關(guān)文章