# if语句
## 格式1及执行流程
```
if语句第一种格式:
if(关系表达式) {
语句体
}
```
**执行流程**:
* 首先判断关系表达式看其结果是true还是false
* 如果是true就执行语句体
* 如果是false就不执行语句体
![](https://box.kancloud.cn/43aa2a9bc5f18ef69f01c26309202e2f_310x350.png)
## if语句格式2及执行流程
```
if语句第二种格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
```
**执行流程**
* 首先判断关系表达式看其结果是true还是false
* 如果是true就执行语句体1
* 如果是false就执行语句体2
![](https://box.kancloud.cn/fb0066beef16615e7966a4d67c3240ef_400x387.png)
## if语句第三种格式:
```
if(关系表达式1) {
语句体1;
}else if (关系表达式2) {
语句体2;
}
…
else {
语句体n+1;
}
```
执行流程
* 首先判断关系表达式1看其结果是true还是false
* 如果是true就执行语句体1
* 如果是false就继续判断关系表达式2看其结果是true还是false
* 如果是true就执行语句体2
* 如果是false就继续判断关系表达式…看其结果是true还是false
* 如果没有任何关系表达式为true,就执行语句体n+1
![](https://box.kancloud.cn/1e27b2209981cbeb6065033463ffa2eb_485x328.png)
# switch语句的格式及执行流程
格式解释:
```
switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}
```
> switch表示这是switch语句
> 表达式的取值:byte,short,char,int
> JDK5以后可以是枚举
> JDK7以后可以是String
> case后面跟的是要和表达式进行比较的值
> 语句体部分可以是一条或多条语句
> break表示中断,结束的意思,可以结束switch语句
> default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
**执行流程**
* 首先计算出表达式的值
* 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
* 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
![](https://box.kancloud.cn/2fbefe76104856adb4cf73b169d23509_454x340.png)
# for循环的格式及基本使用
## for循环语句格式:
```
for(初始化语句;判断条件语句;控制条件语句) {
循环体语句;
}
```
**执行流程**
* 执行初始化语句
* 执行判断条件语句,看其结果是true还是false
如果是false,循环结束。
如果是true,继续执行。
* 执行循环体语句
* 执行控制条件语句
* 回到B继续
![](https://box.kancloud.cn/f63a271ceccc76fc9b5b327989626905_337x395.png)
# while循环语句格式
基本格式
```
while(判断条件语句) {
循环体语句;
}
```
扩展格式
```
初始化语句;
while(判断条件语句) {
循环体语句;
控制条件语句;
}
```
![](https://box.kancloud.cn/9f5668c208f38a776892f72548bc88e6_249x303.png)