国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

記switch的一個(gè)坑

2019-11-08 02:07:24
字體:
供稿:網(wǎng)友

當(dāng)初學(xué)習(xí)java的時(shí)候只是大概記得switch可以接受整形,枚舉類型和String類型(java7),因?yàn)槠綍r(shí)用的并不是太多,所以沒有進(jìn)行過深入的研究。 今天就遇到了一個(gè)這方面的問題,所以有必要把switch可以接受的參數(shù)總結(jié)一下。 首先由byte登場(chǎng),

public class Test{ public static void main(String[] args) { byte x = 2; switch(x){ case 1 : System.out.然后是short類型

short x = 2; switch(x){ case 1 : System.out.println("case1"); break; case 2 : System.out.println("case2"); break; case 3 : System.out.println("case3"); break; case 4 : System.out.println("case4"); break;

還有int類型

int x = 2; switch(x){ case 1 : System.out.println("case1"); break; case 2 : System.out.println("case2"); break; case 3 : System.out.println("case3"); break; case 4 : System.out.println("case4"); break;

再來試試char類型

char x = 1; switch(x){ case 1 : System.out.println("case1"); break; case 2 : System.out.println("case2"); break; case 3 : System.out.println("case3"); break; case 4 : System.out.println("case4"); break;

他們的執(zhí)行結(jié)果都是符合預(yù)期的,會(huì)進(jìn)入case2. 然而問題出現(xiàn)在了long類型上,

long x = 2; switch(x){ case 1L : System.out.println("case1"); break; case 2L : System.out.println("case2"); break; case 3L : System.out.println("case3"); break; case 4L : System.out.println("case4"); break; Test.java:6: 錯(cuò)誤: 不兼容的類型: 從long轉(zhuǎn)換到int可能會(huì)有損失 switch(x){

這說明switch()只可以接受int或者能夠自動(dòng)提升為int類型的類型,對(duì)于大于int類型的long自然就是拒絕的了。

還有boolean類型,我也做了一下實(shí)驗(yàn)

boolean x = false; switch(x){ case true : System.out.println("case1"); break; case false : System.out.println("case2"); break;Test.java:6: 錯(cuò)誤: 不兼容的類型: boolean無法轉(zhuǎn)換為int結(jié)果也是不可以的

同樣的對(duì)于浮點(diǎn)型也會(huì)出現(xiàn)類似的錯(cuò)誤

不兼容的類型: 從float轉(zhuǎn)換到int可能會(huì)有損失 不兼容的類型: 從double轉(zhuǎn)換到int可能會(huì)有損失

所以說switch能夠接受的參數(shù)只有byte、char、short、int、枚舉、String(java7)這幾種。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 富宁县| 安乡县| 平舆县| 东至县| 伊通| 北海市| 固镇县| 习水县| 宝坻区| 山东省| 荆州市| 侯马市| 山东省| 谢通门县| 汝阳县| 垣曲县| 华池县| 金堂县| 长春市| 宜良县| 呼伦贝尔市| 崇州市| 钟山县| 彰武县| 枣阳市| 信宜市| 临湘市| 思南县| 古蔺县| 社旗县| 商城县| 石楼县| 蒙城县| 肃宁县| 通海县| 高雄市| 宜宾市| 如皋市| 如皋市| 抚松县| 乌什县|