# 流程控制
* 順序結構
* 判斷(分支選擇)結構
* 循環結構
## 順序結構
程序是一個自上而下運行的過程。
## 分支選擇結構
Java 中的分支選擇結構有 if 結構、switch 結構
### if 結構
具備三種類型的結構表現形式
* **形式一:**
```java
if (logic expression) {
statement;
}
```
```java
int age = 20;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已經" + age + "歲了,我成年了!");
}
```
* **形式二:**
```java
if (logic expression) {
statement;
} else {
statement;
}
```
```java
int age = 16;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已經" + age + "歲了,我成年了!");
} else {
System.out.println("我還未成年!");
}
```
* **形式三:**
```java
if (logic expression) {
statement;
} else if (logic expression) {
statement;
} else {
statement;
}
```
```java
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 類型的控制表達式。
```java
switch (expression) {
case condition1 : {
statement;
break;
}
case condition2 : {
statement;
break;
}
default : {
statement;
break;
}
}
```
```java
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 結構
```java
(init_statement);
while (test_expression) {
body_statement;
[iteration_statement];
}
```
```java
int sum = 0;
int i = 1;
while (i <= 10) {
sum = sum + i;
i++;
}
System.out.println(sum); // 55
```
### do-while 結構
```java
(init_statement);
do {
body_statement;
[iteration_statement];
} while (test_expression)
```
> 無論如何都會執行一次循環體內容
```java
int i = 1;
int sum = 0;
do {
sum += i++;
// sum = sum + i;
// i = i + 1;
} while (i <= 10);
System.out.println(sum); // 11
```
### for 循環
語法:
```java
for ([init_statement]; test_expression; [iteration_statement]) {
body_statement;
}
```
實例
```java
int sum = 0;
for (int i = 1; i <= 28; i++) {
sum = sum + i;
}
System.out.println(sum);
```
> 在實際的開發中,對于已知循環次數的遍歷,一般使用 for 循環。而且 for 循環的應用場景要比 while 循環多。
### 控制循環結構
**break**:在循環體中,使用 break 關鍵字跳出**整個循環**。
```java
int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
if (i == flag) {
break;
}
}
System.out.println(sum); // 21
```
**continue**:在循環體中,使用 continue 跳出**本次循環**,循環還會繼續執行。
```java
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
sum = sum + i;
}
System.out.println(sum); // 25
```
- 前言
- 計算機概論
- 數據庫
- 數據庫介紹
- MySQL的安裝
- SQL
- 表基本操作
- 修改數據語句
- 數據檢索操作
- 多表數據操作
- 表結構設計
- 綜合應用
- JAVA
- JAVA 介紹
- JAVA 運行原理
- JDK 配置
- 類和對象
- 數據類型
- 變量
- 直接量
- 運算符
- 流程控制
- 數組結構
- 面向對象
- 隱藏和封裝
- 深入構造器
- 類的繼承
- 多態
- 包裝類
- final 修飾符
- 抽象類
- 接口
- 集合框架
- 常用類學習
- 異常處理
- 設計模式-單例模式
- JDBC
- JSP&Servlet
- Web應用
- Tomcat
- JSP
- Scriptlet
- Page 指令
- 包含指令
- 跳轉指令
- 用戶注冊實例
- JSP練習
- 內置對象
- Servlet
- 過濾器
- Web分層思想
- EL表達式
- JSTL
- 分頁實現
- AJAX&JSON
- 開發步驟
- 路徑問題
- Log4j
- 電子書城
- 案例分析
- 核心代碼
- Java 高級
- 文件操作
- 泛型
- 類加載機制和反射
- 注解 Annotation
- Mybatis框架
- 框架介紹
- Mybatis簡單實現
- 表基本操作
- 優化配置文件
- 表字段名與實體類屬性名不同的解決方案
- 一對一關聯
- 一對多關聯
- 教學管理
- 學員名錄
- 周測統計
- 2017-10-27
- 2017-11-03
- 2017-11-10
- 2017-11-17
- 課堂作業
- 班會紀要
- 2017-10-24
- 缺勤記錄
- 班級備忘錄
- 違紀統計
- 編程素養
- Day001
- Day002
- Day003
- Day004
- Day005
- Day006
- Day007
- Day008
- Day009
- Day010
- Day011
- Day012
- Day013
- Day014
- Day015
- Day016
- Day017
- Day018
- Day019