switch可以看作是一種選擇語句召廷。它的作用是根據(jù)表達(dá)式的值荠耽,從一系列代碼中選擇一段去執(zhí)行寻定。其格式如下:
switch(selector){
? ? ? ? case value1:
? ? ? ? ? ? statement; break;
? ? ? ? case value2:
? ? ? ? ? ? statement; break;
? ? ? ? case value3:
? ? ? ? ? ? statement; break;
? ? ? ? default:
? ? ? ? ? ? statement;
}
其中selector指的是一個(gè)參數(shù)呛牲,或是一個(gè)表達(dá)式备绽,或是一個(gè)方法议泵。在java5之前占贫,它必須是一個(gè)能返回整數(shù)或者char類型的表達(dá)式。在java5當(dāng)中先口,引入了對(duì)枚舉Enum類型支持型奥,在java7當(dāng)中,switch以及可以匹配字符串了碉京,下面是關(guān)于枚舉和字符串的示例代碼:
package basic;
public class TestSwitch {
? ? public enum Color { RED, GREEN, BLANK, YELLOW }
? ? public void testSwitch(){
? ? ? ? String s= "0";
? ? ? ? switch(s){
? ? ? ? ? ? case "0":
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? case "1":
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? case "2":
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ;
? ? ? ? }
? ? ? ? switch(Color.GREEN){
? ? ? ? ? ? case RED:
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? case GREEN:
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? case BLANK:
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? case YELLOW:
? ? ? ? ? ? ? ? ; break;
? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ;
? ? ? ? }
? ? }
}