---
# System prepended metadata

title: 流程控制

---

# 流程控制
- Java的流程控制
    - for
    - while
    - do while
    - for each
## for
```java=
for(起點;終點;運算式){
    ...
}
```
- `i--`減一
- 運算式會在判斷進行完，並執行{}內的程式完畢後再執行
- Java同時印變數跟字的方法
```java=
...println(a+"x");
```

## While
While常用於不明確知道開始的行為
```java=
int i=0;
while(i<100){
    ...;
    i++;
}
...println(i);
```
上方的變數i會被保留所以印得出來；
以Java而言，若宣告在()內的變數運行完會銷毀:
```java=
for(int x=0;x<99;xii){
    ...
}
...println(x);
```
所以x是印不出來的
## do while
```java=
int x=0;
do{
    ...;
    x++;
}while(x<0);//無論如何都會跑一次
```
## for each
```java=
for(int f:y){
    ...    
}

//它的底層程式如下
for(int x=0;x<99;xii){
    ...
}
```

```java=
int total=0;
for(...){ //省略處為某範圍內count+1
    if(i%2 == 0){
        total+=i //會把偶數加起來
    }
}
```