switch
關於switch語句,重回Java的小夥伴們都瞭解,不過也有些大家並不熟悉的或者還有疑問的,今天還是拿出來講一下,它是這樣的
switch (xxx) { //這裏的xxx只接收四種類型:byte short int char
case x:
break;
case xx:
break;
case xxx://成立,會進入此
break;
default://這裏是當前面的都不成立則會執行
break;//這裏的break有沒有都沒所謂了
}
switch的兩種結束,1是執行到break,2是執行到switch的結束大括號,還有多個答案對應同一個內容的情況,如下
switch (xxx) {
case x:
case xxx:
System.out.println("哈哈");
break;
}
如上這種方式則表示無論括號中的是x還是xxx都會輸出哈哈兩個字
那麼它和if有什麼區別呢,if它除了可以判斷具體數值,還可以判斷區間,而switch判斷區間會很費勁,因爲它要把case全寫出來,還有一點,對於結果是boolean的if能判斷switch不行,任何語言都有這樣的結構,開發的時候選擇什麼最合適呢?如果你要對具體數值進行判斷的話,數值不多用switch來完成,if也能完成,爲什麼要用switch呢,因爲switch一加載case全進內存了,所以速度會快,而if要做的話就可能要進很多else,所以它做的操作就會稍多一點,所以switch對值不多的情況下,而且類型具體是byte、short、int、char,最適用還比較高效
while和do while
while和do while的寫法相信我們這些重回Java的大家都知道,這裏就介紹一下它們的特性以及不同之處
while:先判斷條件,只有條件滿足才執行循環體
do while:先執行循環體,再判斷條件,條件滿足,再繼續執行循環體
簡單一句話:do while是無論條件是否滿足,循環體至少執行一次
break(跳出),continue(繼續)
break語句應用範圍:選擇結構和循環結構,它要定義在這裏纔有用處
continue語句應用範圍:循環結構
//簡單跳出
for(int i = 0; i < 3; i++){
System.out.println("i=" + i);
break;//執行到此行代碼即for循環結束
}
//嵌套循環的跳出
for(int i = 0; i < 3; i++){
System.out.println("i=" + i);
for(int j = 0; j < 3; j++){
break;//如果添加到此它只會跳出當前循環,也就是這個有j變量的循環
}
}
//給循環起名字也就是標號,如下的w和q分別表示w循環和q循環 break w就代表跳出w循環
w : for(int i = 0; i < 3; i++){
System.out.println("i=" + i);
q : for(int j = 0; j < 3; j++){
break w;
}
}
//continue用法
for(int i = 0; i < 3; i++){
if(i = 0)
continue;//跳出本次循環,繼續下次循環
System.out.println("i=" + i);
}
//結果就是輸出一次i=1再輸出一次i=2而不會輸出i=0
//當然,continue也是也是可以標號的和上面break的寫法是一樣的continue w;