跳轉到內容

Java 程式設計/關鍵字/switch

來自華夏公益教科書,開放的書本,用於開放的世界

switch 是一個 Java 關鍵字。

它是一個基於數字的分支操作。該“數字”必須是 charbyteshortint 原生型別。

語法

switch ( <integer-var> )
{
   case <label1>: <statements>;
   case <label2>: <statements>;
   ...
   case <labeln>: <statements>;
   default: <statements>;
}

當 <integer-var> 值與其中一個 <label> 匹配時,則:匹配的標籤後的語句將被執行,包括以下標籤的語句,直到 switch 塊的末尾,或直到遇到 break 關鍵字。

例如

Computer code
int var = 3;
switch ( var )
{
   case 1: 
      System.out.println( "Case: 1" );
      System.out.println( "Execute until break" );
      break;		  	
   case 2: 
      System.out.println( "Case: 2" );
      System.out.println( "Execute until break" );
      break;
   case 3:
      System.out.println( "Case: 3" );
      System.out.println( "Execute until break" );
      break;  	
   case 4:
      System.out.println( "Case: 4" );
      System.out.println( "Execute until break" );
      break;      
   default:
      System.out.println( "Case: default" );
      System.out.println( "Execute until break" );
      break;	      
}

以上程式碼的輸出為

Case: 3
Execute until break

相同的程式碼可以用 if-else 塊編寫"

Computer code
int var = 3;
if ( var == 1 ) {
   System.out.println( "Case: 1" );
   System.out.println( "Execute until break" );
} else if ( var == 2 ) {
   System.out.println( "Case: 2" );
   System.out.println( "Execute until break" );
} else if ( var == 3 ) {
   System.out.println( "Case: 3" );
   System.out.println( "Execute until break" );
} else if ( var == 4 ) {
   System.out.println( "Case: 4" );
   System.out.println( "Execute until break" );
} else {
   // -- This is the default part -- 
   System.out.println( "Case: default" );
   System.out.println( "Execute until break" );
}


另請參見

華夏公益教科書