標籤:case 改進 應用 如何 輸出 false java mil 判斷
1:switch語句
(1)格式:
switch(運算式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
...
default:
語句體n+1;
break;
}
格式解釋說明:
switch:說明這是switch語句。
運算式:可以是byte,short,int,char
JDK5以後可以是枚舉
JDK7以後可以是字串
case:後面的值就是要和運算式進行比較的值
break:表示程式到這裡中斷,跳出switch語句
default:如果所有的情況都不匹配,就執行這裡,相當於if語句中的else
(2)面試題
switch語句的運算式可以是byte嗎?可以是long嗎?可以是String嗎?
可以,不可以,JDK7以後可以
(3)執行流程:
A:首先計算運算式的值
B:和每一個case進行匹配,如果有就執行對應的語句體,看到break就結束。
C:如果沒有匹配,就執行default的語句體n+1。
(4)注意事項:
A:case後面只能是常量,不能是變數,而且,多個case後面的值不能出現相同的
B:default可以省略嗎?
可以省略,但是不建議,因為它的作用是對不正確的情況給出提示。
特殊情況:
case就可以把值固定。
A,B,C,D
C:break可以省略嗎?
可以省略,但是結果可能不是我們想要的。
會出現一個現象:case穿透。
最終建議不要省略
D:default一定要在最後嗎?
不是,可以在任意位置。但是建議在最後。
E:switch語句的結束條件
a:遇到break就結束了
b:執行到末尾就結束了
(6)if語句和switch語句各自的情境
A:if
針對boolean類型的判斷
針對一個範圍的判斷
針對幾個常量的判斷
B:switch
針對幾個常量的判斷
2:迴圈語句
(1)有三種:for,while,do...while
(2)for迴圈語句
A:格式
for(初始化語句;判斷條件陳述式;控制條件陳述式){
迴圈體語句;
}
執行流程:
a:執行初始化語句
b:執行判斷條件陳述式
如果這裡是true,就繼續
如果這裡是false,迴圈就結束
c:執行迴圈體語句
d:執行控制條件陳述式
e:回到b
B:注意事項
a:判斷條件陳述式無論簡單還是複雜,結果是boolean類型
b:迴圈體語句如果是一條,可以省略大括弧,但是不建議
c:有分號就沒有左大括弧,有左大括弧就沒有分號
案例:
g:在控制台列印水仙花數
(3)while迴圈
A:基本格式
while(判斷條件陳述式) {
迴圈體語句;
}
擴充格式:
初始化語句;
while(判斷條件陳述式){
迴圈體語句;
控制條件陳述式;
}
B:while的練習
把for語句的練慣用while改進
C:for和while的區別
a:使用上的區別
for語句的那個控制條件變數,在迴圈結束後不能在使用了。
而while的可以繼續使用。
b:理解上的區別
for適合於一個範圍的判斷
while適合次數不明確的
(4)do...while迴圈
A:基本格式
do {
迴圈體語句;
}while(判斷條件陳述式);
擴充格式:
初始化語句;
do {
迴圈體語句;
控制條件陳述式;
}while(判斷條件陳述式);
通過查看格式,我們就可以看出其實三種迴圈的格式可以是統一的。
B:三種迴圈的區別
a:do...while迴圈至少執行一次迴圈體
b:for和while必須先判斷條件是否是true,然後後才能決定是否執行迴圈體
(5)迴圈使用的注意事項(死迴圈)
A:一定要注意修改控制條件,否則容易出現死迴圈。
B:最簡單的死迴圈格式
a:while(true){...}
b:for(;;){}
3:控制跳躍陳述式
(1)break:中斷的意思
A:用在迴圈和switch語句中,離開此應用情境無意義。
B:作用
a:跳出單層迴圈
b:跳出多層迴圈,需要標籤語句的配合
(2)continue:繼續
A:用在迴圈中,離開此應用情境無意義。
B:作用
a:跳出單層迴圈的一次,可以繼續下一次
C:填空題
for(int x=1; x<=10; x++) {
if(x%3 == 0) {
//補齊代碼
}
System.out.println("Java基礎班");
}
如何讓控制台輸出2次:Java基礎班
如何讓控制台輸出7次:Java基礎班
如何讓控制台輸出13次:Java基礎班
(3)return:返回
A:用於結束方法的,後面還會在繼續講解和使用。
B:一旦遇到return,程式就不會在繼續往後執行。
關於java中的一些迴圈