Java语言基础——流程控制语句

流程控制语句

概述:在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说,程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

顺序结构:

public static void main(String[] args){ 
    //顺序执行,根据编写的顺序,从上到下运行 
    System.out.println(1); 
    System.out.println(2); 
    System.out.println(3);
}

1. 判断语句

1. 1 if语句
if(关系表达式){ 
    语句体; 
}

执行流程

  • ①首先判断关系表达式看其结果是true还是false
  • ②如果是true就执行语句体
  • ③如果是false就不执行语句体
1.2 if…else语句
if(关系表达式) { 
    语句体1; 
} else { 
    语句体2; 
}

执行流程

  • ①首先判断关系表达式看其结果是true还是false
  • ②如果是true就执行语句体1
  • ③如果是false就执行语句体2
1.3 if…else if…else语句
if (判断条件1) { 
    执行语句1; 
} else if (判断条件2) { 
    执行语句2; 
} else if (判断条件n) { 
    执行语句n; 
} else { 
    执行语句n+1; 
}

执行流程

  • ①首先判断条件1看其结果是true还是false
  • ②如果true就执行语句1
  • ③如果是false再判断条件2
  • ④如果true就执行语句2
  • ⑤以此类推…

2. 选择语句

2.1 switch语句
switch(表达式) { 
    case 常量值1: 语句体1; break; 
    case 常量值2: 语句体2; break;
    ... 
    default: 语句体n+1; break; 
}

执行流程

  • ①首先计算出表达式的值
  • ②其次和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
  • ③最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

case的穿透性

在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束。

3. 循环语句

循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

3.1 for循环语句
for(初始化表达式①; 布尔表达式②; 步进表达式④){ 
		循环体③ 
}

执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。

  • ①负责完成循环变量初始化
  • ②负责判断是否满足循环条件,不满足则跳出循环
  • ③具体执行的语句
  • ④循环后,循环条件所涉及变量的变化情况
3.2 while循环语句
初始化表达式① 
while(布尔表达式②){ 
    循环体③ 
    步进表达式④ 
}

执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。

  • ①负责完成循环变量初始化。
  • ②负责判断是否满足循环条件,不满足则跳出循环。
  • ③具体执行的语句。
  • ④循环后,循环变量的变化情况
3.3 do…while循环语句
初始化表达式① 
do{ 
    循环体③ 
    步进表达式④ 
}while(布尔表达式②);

执行流程
执行顺序:①③④>②③④>②③④…②不满足为止。

  • ①负责完成循环变量初始化。
  • ②负责判断是否满足循环条件,不满足则跳出循环。
  • ③具体执行的语句
  • ④循环后,循环变量的变化情况

do…while循环的特点

无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的循环具有一定的风险性,因此初学者不建议使用do…while循环。

4. 跳转语句

跳转语句用于实现循环执行过程中程序流程的跳转。

4.1 break语句

使用场景:终止switch或者循环
①在选择结构switch语句中
②在循环语句中

public static void main(String[] args) {
    int x = 1;
    while(x <= 4) {
        System.out.println("x="+x);
        if(x == 3) {
            break; //条件成立则跳出循环
        }
        x++;
   }
}
4.2 continue语句

使用场景:结束本次循环,继续下一次的循环

public static void main(String[] args) {
    int sum = 0;
    for(int i = 1; i <= 100; i++) {
        if(i % 2 == 0) {
            continue; //结束本次循环
        }
        sum = sum + i; //实现sum和i的累加
    }
    System.out.println("sum = " + sum);
}

死循环
也就是循环中的条件永远为true,死循环的是永不结束的循环。例如:while(true){}。

嵌套循环
所谓嵌套循环,是指一个循环的循环体是另一个循环体。比如for循环里面还有一个for循环,就是嵌套循环。总共的循环次数=外循环次数*内循环次数

for(初始化表达式①; 循环条件②; 步进表达式⑦) { 
    for(初始化表达式③; 循环条件④; 步进表达式⑥) { 
        执行语句⑤;
    } 
}

嵌套循环执行流程:
执行顺序:①②③④⑤⑥>④⑤⑥>⑦②③④⑤⑥>④⑤⑥,外循环一次,内循环多次。
比如跳绳:一共跳5组,每组跳10个。5组就是外循环,10个就是内循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值