1. 程式人生 > >[Java基礎] 流程控制語句

[Java基礎] 流程控制語句

3.1 流程控制語句

if語句
if (條件語句){ 
	執行語句;
	……
}
if else語句
if (判斷條件){
	執行語句1
	……
}else{
	執行語句2
	……
}
if else if else語句
if (判斷條件1) {
	執行語句1
} else if (判斷條件2) {
	執行語句2
}
...
else if (判斷條件n) {
	執行語句n
} else {
	執行語句n+1
}
選擇結構if語句與三元運算轉換
int x = 0;
int y = 1;
int max;
if (x > y) {
	max = x;
} else {
	max = y;
}

上面的程式碼執行之後,變數max的值為1。其中3-8行的程式碼可以使用下面的三元運算來替換。
int max = x > y ? x : y;
迴圈語句while
while(迴圈條件){
執行語句
………
}
迴圈語句for
for(初始化表示式; 迴圈條件; 操作表示式){
	執行語句
	………
}
迴圈語句do while
do {
執行語句
………
} while(迴圈條件);
無限迴圈
while(true){} 
或
for(;;){}
迴圈巢狀
for(初始化表示式; 迴圈條件; 操作表示式) {
	………
	for(初始化表示式; 迴圈條件; 操作表示式) {
		執行語句
		………
	}
	………
}
跳轉語句(break、continue)
  • break語句

    • 在switch條件語句和迴圈語句中都可以使用break語句。當它出現在switch條件語句中時,作用是終止某個case並跳出switch結構。當它出現在迴圈語句中,作用是跳出迴圈語句,執行後面的程式碼。關於在switch語句中使用break前面的例程已經用過了,接下來通過下面一段程式碼,實現將當變數x的值為3時,使用break語句跳出迴圈,程式碼如下所示。BreakDemo.java
        public class BreakDemo {
            public static void main(String[] args) {
        		int x = 1; // 定義變數x,初始值為1
        		while (x <= 4) { // 迴圈條件
        			System.out.println("x = " + x); // 條件成立,列印x的值
        			if (x == 3) {
        				break;
        			}
        			x++; // x進行自增
        		}
            }
        }
        -----------------------------------------------------------------
        執行結果
        D:\java\java BreakDemo
        x = 1
        x = 2
        x = 3
      
  • continue語句

    • continue語句用在迴圈語句中,它的作用是終止本次迴圈,執行下一次迴圈。接下來通過一個練習對1~100之內的奇數求和,ContinueDemo.java
      public class ContinueDemo {
        public static void main(String[] args) {
        	int sum = 0; // 定義變數sum,用於記住和
        	for (int i = 1; i <= 100; i++) {
        		if (i % 2 == 0) { // i是一個偶數,不累加
        			continue; // 結束本次迴圈
        		}
        		sum += i; // 實現sum和i的累加
        	}
        	System.out.println("sum = " + sum);
        }
      }
      
      -------------------------------------------------------------------
      執行結果
      D:\java\java ContinueDemo
      sum = 2500
      
switch語句
switch (表示式){
	case 目標值1:
		執行語句1
		break;
	case 目標值2:
		執行語句2
		break;
	......
	case 目標值n:
		執行語句n
		break;
	default:
		執行語句n+1
		break;
}

例:

public class SwitchDemo02 {
	public static void main(String[] args) {
		int week = 2;
		switch (week) {
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
			// 當 week 滿足值 1、2、3、4、5 中任意一個時,處理方式相同
			System.out.println("今天是工作日");
			break;
		case 6:
		case 7:
			// 當 week 滿足值 6、7 中任意一個時,處理方式相同
			System.out.println("今天是休息日");
			break;
		}
	}
}