在java值有三大循環與句,for swich while 除此以外還有一個與while相差無幾的do....while;java
swich循環語法以下:算法
switch (key) { case value: break; default: break; }
其中的key值就是變量,這個變量的類型能夠爲何呢?學習
答:在JDK1.5以前,switch循環只支持byte short char int四種數據類型.JDK1.5 在switch循環中增長了枚舉類與byte short char int的包裝類,對四個包裝類的支持是由於java編譯器在底層手動進行拆箱,而對枚舉類的支持是由於枚舉類有一個ordinal方法,該方法其實是一個int類型的數值.jdk1.7開始支持String類型,但實際上String類型有一個hashCode算法,結果也是int類型.而byte short char類型能夠在不損失精度的狀況下向上轉型成int類型.因此總的來講,能夠認爲switch中只支持int.spa
咱們來看數據類型的大小 (從小到大):byte—> short, char—> int —> long—>float —> double code
咱們清楚數據類型小轉大是不須要強轉的因此int 如下包含int就是swich循環中key值所包含的數據類型blog
下面有一個小例題:編譯器
public static void main(String[] args) { /*byte x = 1; short x = 1; String x = "1"; long x = 1; double x = 1; int x =1; char x =1; Integer x = new Integer("1");*/ switch (x) { case 1: System.out.println("One"); break; case 2: System.out.println("Two"); break; } }
總結:swich所支持的基本數據類型有:byte,short ,char,int。以及他們封裝類型 如:Integer Byte 等...hash
能夠試着看看 我的學習,內容拙劣見諒it