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:執行到末尾就結束了
(5)案例:
A:鍵盤錄入一個數字(1-7),輸出對應的星期幾。
B:單項選擇題
C:鍵盤錄入一個字元串的問題
String s = sc.nextLine();
D:根據給定的月份,輸出對應的季節
(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:有分号就沒有左大括号,有左大括号就沒有分号
C:案例
a:輸出10次HelloWorld
b:輸出1-10的資料
c:輸出10-1的資料
d:求1-10的和
e:求1-100的和,求1-100的偶數和,求1-100的奇數和
f:求5的階乘
g:在控制台列印水仙花數
h:統計水仙花個數
i:改進版的回文數
一個五位數
個位 = 萬位
十位 = 千位
個位 + 十位 + 千位 + 萬位 = 百位
j:統計1-1000之間同時滿足如下條件的資料有多少個
x%3==2
x%5==3
x%7==2
(3)while循環
A:基本格式
while(判斷條件語句) {
循環體語句;
}
擴充格式:
初始化語句;
while(判斷條件語句){
循環體語句;
控制條件語句;
}
通過檢視這個格式,我們就知道while循環可以和for循環等價轉換。
B:while的練習
把for語句的練習用while改進
C:for和while的差別
a:使用上的差別
for語句的那個控制條件變量,在循環結束後不能在使用了。
而while的可以繼續使用。
b:了解上的差別
for适合于一個範圍的判斷
while适合次數不明确的
舉例:吃葡萄
D:案例:
a:珠穆朗瑪峰問題
b:小芳存錢問題(break以後才能做)
(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,程式就不會在繼續往後執行。