流程控制
- 順序結構
- 判斷(分支選擇)結構
- 循環結構
順序結構
程序是一個自上而下運行的過程。
分支選擇結構
Java 中的分支選擇結構有 if 結構、switch 結構
if 結構
具備三種類型的結構表現形式
- 形式一:
if (logic expression) {
statement;
}
int age = 20;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已經" + age + "歲了,我成年了!");
}
- 形式二:
if (logic expression) {
statement;
} else {
statement;
}
int age = 16;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已經" + age + "歲了,我成年了!");
} else {
System.out.println("我還未成年!");
}
- 形式三:
if (logic expression) {
statement;
} else if (logic expression) {
statement;
} else {
statement;
}
if (age >= 0 && age <= 10) {
System.out.println("少年");
} else if (age <= 18) {
System.out.println("青少年");
} else if (age <= 30) {
System.out.println("青年");
} else if (age <= 50) {
System.out.println("中年");
} else {
System.out.println("老年");
}
switch 結構
swtich 語句是有控制表達式和多個 case 標籤塊組成。在控制表達式中,只允許出現 byte、short、int、char四種基礎數據類型,在JDK1.7以後,支持 String 類型的控制表達式。
switch (expression) {
case condition1 : {
statement;
break;
}
case condition2 : {
statement;
break;
}
default : {
statement;
break;
}
}
String color = "red";
switch (color) {
case "red": {
System.out.println("紅色");
break;
}
case "blue": {
System.out.println("藍色");
break;
}
case "green": {
System.out.println("綠色");
break;
}
default: {
System.out.println("沒有找到");
break;
}
}
在 case 中要加入 break 關鍵字跳出; 在實際的開發中,我們一般使用 if - else 結構替代 switch。swtich
結構應用的較少。
循環結構
循環語句可以在滿足循環條件的情況下,反覆執行某一段代碼。
被重複執行的代碼叫做循環體。
循環語句可能包含的部分有:
- 初始化語句(init_statement):一條或多條語句,這些語句用於完成一些初始化的工作。
- 循環條件(test_expression):是一個 boolean 類型的表達式,這個表達式決定是否繼續執行循環體。
- 循環體(body_statement):如果條件允許,循環體會被反覆執行。
- 迭代語句(iteration_statement):在一次循環體執行結束後,對循環體條件進行求值,通常用於控制循環條件中的變量,使得循環在合適的時候結束。
while 結構
(init_statement);
while (test_expression) {
body_statement;
[iteration_statement];
}
int sum = 0;
int i = 1;
while (i <= 10) {
sum = sum + i;
i++;
}
System.out.println(sum); // 55
do-while 結構
(init_statement);
do {
body_statement;
[iteration_statement];
} while (test_expression)
無論如何都會執行一次循環體內容
int i = 1;
int sum = 0;
do {
sum += i++;
// sum = sum + i;
// i = i + 1;
} while (i <= 10);
System.out.println(sum); // 11