while / do while
確定循環:for循環
for循環語句是有確定循環次數的,因此稱爲確定循環。
for循環語句用每次迭代後更新的計數器或者變量的方式來控制循環次數。
for 語句內定義的變量,其作用域僅在for循環語句和循環體內部。
也就是說,如果在一個代碼塊內定義了兩個非嵌套的for循環,則這兩個for循環語句或者循環體內可以定義名稱相同的變量。
格式:for ( 語句1; 條件語句; 語句3 ) { // 循環體…}
執行步驟如下:
- 先執行語句1,
- 然後執行條件語句,進行判斷,如果條件成立,則執行花括號{}內的循環體…;否則退出for循環
- 然後執行語句3
- 然後執行條件語句,進行判斷,如果條件成立,則執行花括號{}內的循環體…;否則退出for循環
- 接下來就是循環執行 3、4兩個步
多重選擇:switch語句
switch語句用於部分替代多個if-else的情況。
switch()內的參數類型:byte、short、 char、 int、String(JRE7)
**case穿透:**如果某個case成立,那麼就會開始執行此case後的所有語句,直到遇到break語句才停止執行,不論break語句前是否還有其它case語句,這種情況稱爲case穿透。
格式:
Scanner scanner = new Scanner(System.in);
out.println("請輸入每種水果前的序號,來選擇您喜歡的水果:1 蘋果 2 香蕉 3 梨 4 其它");
int choice = scanner.nextInt();
String tips = null;
switch(choice){
case 1:
tips="蘋果";
break;
case 2:
tips="香蕉";
break;
case 3:
tips="梨";
break;
case 4:
tips="其它";
break;
default:
tips=null;
break;
}
if(Objects.isNull(tips)){
out.println("您輸入的序號不在給定的範圍內");
}else {
out.println("您選擇的是:"+tips);
}
流程中斷:continue、break 、 label
注意:
-
這三個關鍵字只能與循環語句合用。continue; break; 這兩個語句只能出現在循環體中。
-
break;的作用:退出循環語句,也就是說不再進行循環,直接開始執行循環語句之後的語句。
-
continue;的作用:跳過本次循環中的剩下的語句,進入下一次循環。
-
labelx:只能定義在循環語句前,一般定義在嵌套循環的外層循環語句前,可以與循環語句同行,也可以定義在循環語句的上一行。
-
break labelx;語句的作用:直接退出labelx指代的循環語句,開始執行循環語句之後的語句。
-
continue lablex;語句的作用:直接進入labelx指代的循環語句的下一次循環。
-
labelx:格式如下:
outer:
for(...){
for(...){
...
break outer; // 此處語義是,直接退出outer所指代的外層循環的執行,會直接開始執行下邊的語句:out.println("循環結束了");
...
}
}
out.println("循環結束了");
outer:
for(int i=0;i<3;i++){
out.println("outer:"+i);
inner:
for(int j=0;j<5;j++){
if(j==3){
continue outer; // 直接跳到外層for循環,執行外層for循環的下一次循環,即執行i++語句,然後執行條件判斷語句:i<3;
}
out.println("inner:"+j);
}