一、判斷語句:if和switch
if(關系表達式1) { 語句體1; }else if (關系表達式2) { 語句體2; }…
else { 語句體n+1; }
switch(表達式) { case 值1: 語句體1; break; case 值2: 語句體2; break; …
default: 語句體n+1; break; }
執行流程
– 首先計算出表達式的值
– 其次, 和case依次比較, 一旦有對應的值, 就會執行相應
的語句, 在執行的過程中, 遇到break就會結束。
– 最后, 如果所有的case都和表達式的值不匹配, 就會執行
default語句體部分, 然后程序結束掉。
switch表示這是switch語句
• 表達式的取值: byte,short,int,char
• JDK5以后可以是枚舉
• JDK7以后可以是String
– case后面跟的是要和表達式進行比較的值
– 語句體部分可以是一條或多條語句
– break表示中斷, 結束的意思, 可以結束switch語句
– default語句表示所有情況都不匹配的時候, 就執行該處的
內容, 和if語句的else相似。
二、循環語句:for, while, do…while
do…while循環語句格式:
– 基本格式 do { 循環體語句; }while((判斷條件語句);
– 擴展格式 初始化語句; do { 循環體語句; 控制條件語句; } while((判斷條件語句);
while循環語句格式:
– 基本格式 while(判斷條件語句) { 循環體語句; }
– 擴展格式 初始化語句; while(判斷條件語句) { 循環體語句; 控制條件語句; }
for循環語句格式: – for(初始化語句;判斷條件語句;控制條件語句) { 循環體語句; }
三、跳轉控制語句
• break 退出當前循環 • continue 退出本次循環
----------------------------------------------------------------------------------------------------------------------
以下是一些使用案例
1.for打印1到9
public class OperatorDemo { public static void main(String[] args) { for (int i = 0; i < 10; ++i){ System.out.println(i); } } }
2.for打印hello 10 次
package FlowControl.fordemo; public class Demo1_10Ci { public static void main(String[] args) { for (int x = 0;x < 10;x++) { System.out.println("hello world!"); } } }
3.switch 根據輸入(n)打印輸出(星期n)
public class SwitchDemo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int weekday = sc.nextInt(); // weekday = 0; switch (weekday) { case 100: System.out.println("星期:1"); break; case 200: System.out.println("星期:2"); break; default: System.out.println("輸入錯誤"); break; } } }
執行返回:
A:首先計算表達式的值
B:拿着這個計算出來的值,依次和case后面的值進行比較
4.
package FlowControl.whiledemo; /* * for循環和while循環有沒有區別呢? * for循環結束后,初始化的變量就不能被使用了。而while循環結束后,初始化的變量還可以繼續使用。 * * 推薦使用循環的順序: * for -- while -- do...while * 雖然三種循環可以做相同的事情,但是它們還是有區別的: * A:do...while循環至少執行一次循環體 * B:for和while循環必須判斷條件成立才可以執行循環體 */ public class WhielDemo2 { public static void main(String[] args) { for(int x = 1; x<=3;x++) { System.out.println("hello world"); } // System.out.println("x:"+x); int y = 1; while (y<=3) { System.out.println("愛生活"); y++; } System.out.println("Y:"+y); } }
5.break和continue
package FlowControl.break_continue;
/*
* break:結束整個循環(中斷的意思)
* 應用場景:switch語句和循環中
*
* continue:結束本次循環,繼續下一次的循環(繼續的意思)
* 應用場景:循環中(不能用於switch)
*/
public class BreakAndContinue {
public static void main(String[] args) {
for (int i = 1;i<=5;i++) {
if(i==3) {
System.out.println(i);
break;
// continue;
}
System.out.println("hello world");
}
}
}
break輸出如下:
continue的輸出如下: