switch-case語句格式如下:
switch(變數)swtich()變數型別只能是int、short、char、byte和enum型別(jdk 1.7 之後,型別也可以是string了)。當進行case判斷時,jvm會自動從上到小掃瞄,尋找匹配的case,可能存在以下情況:
情況一:若未找到,則執行預設的case。
int i = 5;情況二:當每乙個case都不存在break時,jvm並不會順序輸出每乙個case對應的返回值,而是繼續匹配,匹配不成功則返回預設case。switch(i)
輸出:default
int i = 5;情況三:當每乙個case都不存在break時,匹配成功後,從當前case開始,依次返回後續所有case的返回值。switch(i)
輸出:default
int i = 2;情況四:若當前匹配成功的case不存在break,則從當前case開始,依次返回後續case的返回值,直到遇到break,跳出判斷。switch(i)
輸出:2
default
int i = 2;還需注意的是case後面只能是常量,可以是運算表示式,但一定要符合正確的型別。不能是變數,即便變數在之前進行了賦值,jvm依然會報錯。switch(i)
輸出:2
3
Java學習之選擇結構 switch case
一 語法 switch 表示式 說明 表示式的結果型別只能為 byte,short,int,char,string jdk7新增支援 列舉 jdk5新增支援 表示式結果的型別要與case後值的型別一致 default是可選的 break可選的,表示式返回結果與case值匹配成功後,依法向下執行,直到...
java中的演算法
第一種 迴圈 for int x 1 x 500 x 第二種 bigdecimal double x 0 double y 0 bigdecimal xbig new bigdecimal x bigdecimal ybig new bigdecimal y bigdecimal result ne...
java中的覆蓋
override可以翻譯為覆蓋,從字面就可以知道,它是覆蓋了乙個方法並且對其重寫,以求達到不同的作用。對我們來說最熟悉的覆蓋就是對介面方法的實現,在介面中一般只是對方法進行了宣告,而我們在實現時,就需要實現介面宣告的所有方法。除了這個典型的用法以外,我們在繼承中也可能會在子類覆蓋父類中的方法。在覆蓋...