1. 程式人生 > >關於java中的一些循環

關於java中的一些循環

結果 str 類型 理解 AC 中斷 跳轉 案例 pan

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中的一些循環