流程控制语句

本文详细介绍了程序控制结构的基础知识,包括顺序执行、if判断语句、if...else分支、if...elseif...else多分支、switch选择结构以及循环中的for、while和do...while。还探讨了break和continue在循环控制中的作用,以及如何避免死循环。此外,解释了嵌套循环的概念和执行流程,并举例说明了跳绳问题的嵌套循环实现。
摘要由CSDN通过智能技术生成

流程控制语句

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

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

判断语句

if语句

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

执行流程
①首先判断关系表达式看其结果是true还是false
②如果是true就执行语句体
③如果是false就不执行语句体
if…else语句

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

执行流程
①首先判断关系表达式看其结果是true还是false
②如果是true就执行语句体1
③如果是false就执行语句体2
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
⑤以此类推…

选择语句

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结束。

循环语句

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

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

执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化
②负责判断是否满足循环条件,不满足则跳出循环
③具体执行的语句
④循环后,循环条件所涉及变量的变化情况
while循环语句

初始化表达式① 
while(布尔表达式②) { 
    循环体③ 
    步进表达式④ 
}

执行流程
执行顺序:①②③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句。
④循环后,循环变量的变化情况
do…while循环语句

初始化表达式① 
do { 
    循环体③ 
    步进表达式④ 
} while(布尔表达式②);

执行流程
执行顺序:①③④>②③④>②③④…②不满足为止。
①负责完成循环变量初始化。
②负责判断是否满足循环条件,不满足则跳出循环。
③具体执行的语句
④循环后,循环变量的变化情况
do…while循环的特点:
无条件执行一次循环体,即使我们将循环条件直接写成false,也依然会循环一次。这样的循环具有一定的风险性,因此初学者不建议使用do…while循环。

跳转语句

跳转语句用于实现循环执行过程中程序流程的跳转。
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++;
    }
}

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; //求1~100之间的奇数求和
    }
    System.out.println("sum= "+sum);
}

死循环
也就是循环中的条件永远为true,死循环的是永不结束的循环。

while(true) {
    System.out.println("死循环了.....");
}

嵌套循环
所谓嵌套循环,是指一个循环的循环体是另一个循环的循环体。比如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、付费专栏及课程。

余额充值