LongJL 发表于 2021-7-9 21:09

【自学笔记】 Java基础 - 流程控制

本帖最后由 LongJL 于 2021-7-10 07:28 编辑

# 流程控制
## 条件语句
if:
```
if(关系表达式){
      语句体;
}
public class main() {
      public static void main(String() args) {
               age = 16;
               if (age > 18) {
                         System.out.println("进入网吧");
               }
      }
}
```
               
if-else:
```
if(关系表达式) {
      语句体;
} else {
      语句体;
}
```
if-else if-else:
```
if(关系表达式) {

} else if(关系表达式) {

} else{

}
```

关系表达式:是一个必要参数,表示返回值是一个布尔值

## switch 多分支语句
```
switch(表达式) {
    case 常量值1;
      语句体;
      break;
    case 常量值2;
      语句体;
      break;
    default:
         语句体;
         break
}
```

```
switch(表达式) {
    case 常量值1;
      语句体;

    case 常量值2;
      语句体;
      
    default:
         语句体;
         break;
}

```
case穿透:
上述代码中case1和case2没有加break;所以case语句会一直判断,直到运行结束或遇到break;上述代码会一直运行到default语句;
来自@a525

注意事项:
    1. 多个case后面得数值不能相同
    2.switch后面小括号当中只能是下列数据类型:基本数据类型:byte/short/char/int引用数据类型:String字符串 enum枚举
    3.switch语句格式k可以很灵活:前后顺序可以颠倒,而且break还可以省略。 “匹配哪一个case就从哪一个位置开始执行,知道遇到break或者整体结束为止。”
    4.如果没有一个常量的值与表达式的值相同,则执行default后面的语句。default是可选的
    5.如果case语句中没有break;将执行后面的case语句直到遇到break语句为止。
               
## 循环语句
### for
```
for(初始化表达式;布尔值表达式;步进表达式) {
      循环体;
}
```
循环结果得基本构成,一般可以分为四个部分:
      1. 初始化语句:在循环开始最初执行,而且只做唯一一次
      2. 条件判断:如果成立,则循环继续;如果不成了,则退出循环.
      3. 循环体:重复要做得事情内容,若干行语句
      4. 步进语句:每次循环之后都要进行得扫尾工作.每次循环完了都要做一次.
### foreach
只能遍历,不能增删
底层使用的也是迭代器。使用for循环的格式,简化了迭代器的书写
```
for(元素的数据类型 s: 遍历对象 obj){
      语句块
}
```
s是obj里面的元素,类型一定要对的上

### while
while循环有一个标准格式
标准格式:
```
while(条件判断) {
      循环体;
}
```
Do-while循环得标准格式:
```
do {
      循环体;
} while(条件判断);
```

- 三种循环得区别:
    1.如果条件判断从来都没有满足过,那么for循环和while循环执行0次,但是Do-while至少执行一次
    2.for循环得变量在小括号当中定义,只有循环内部才能使用。Do和Do-while初始化语句都在外边,所以循环出来后还能继续使用


- break关键字得俩种用法:
    1.可以用在switch语句当中,一旦使用,整个switch语句立刻结束
    2.还可以用在循环语句当中,一旦执行,整个循环语句立刻结束,打断循环.
- continue:
    一旦执行:立刻跳过当前循环剩余内容,马上开始下一次循环。

zcdh7347611 发表于 2021-7-9 21:52

沙发支持一个

LongJL 发表于 2021-7-9 21:53

zcdh7347611 发表于 2021-7-9 21:52
沙发支持一个

{:301_997:} 谢谢支持

a525 发表于 2021-7-9 23:12

switch(表达式) {
    case 常量值1;
      语句体;

    case 常量值2;
      语句体;
      
    default:
         语句体;
         break;
}
case穿透:
上述代码中case1和case2没有加break;所以case语句会一直判断,直到运行结束或遇到break;上述代码会一直运行到default语句;
坐着加油{:1_893:}

LongJL 发表于 2021-7-9 23:13

a525 发表于 2021-7-9 23:12
switch(表达式) {
    case 常量值1;
      语句体;


谢谢指正, 忘记加了{:301_977:}

侃遍天下无二人 发表于 2021-7-9 23:44

a525 发表于 2021-7-9 23:12
switch(表达式) {
    case 常量值1;
      语句体;


不是一直判断,是一直往下执行,要是真的一直判断加不加break效果都一样了

LongJL 发表于 2021-7-10 07:27

侃遍天下无二人 发表于 2021-7-9 23:44
不是一直判断,是一直往下执行,要是真的一直判断加不加break效果都一样了

其实就是说,如果case语句中没有break;,他就会一直往下执行直到遇到break为止;

collisheng 发表于 2021-8-1 01:23

必须收藏了。
页: [1]
查看完整版本: 【自学笔记】 Java基础 - 流程控制