Java程序流程控制

目录

Java程序流程控制简介

顺序结构

分支结构

 If分支

switch分支

循环结构

for 循环

while 循环

do-while循环

三种循环的区别

死循环

循环嵌套

跳转控制语句介绍


活动地址:CSDN21天学习挑战赛

学习继续哈

Java程序流程控制简介

Java提供了一些流程控制语句,来控制程序的执行流程。

顺序结构(程序默认)

分支结构(if、switch)

循环结构(for、while、do……while)

顺序结构

如果你没有写其他的结构,按照代码的先后顺序,依次执行程序中大多数的代码都是这样执行的。

​​​​​​​

分支结构

 If分支

根据判定的结果(真或假)决定执行某个分支的代码

If分支有三种格式:

格式一:

格式1:
if (条件表达式) {
    语句体;
}

​​​​​​​

执行流程:首先判断条件表达式的结果,如果为true执行语句体,为 false 就不执行语句体。

注意:if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写。 

格式二:

格式2:
if (条件表达式) {
    语句体1;
} else {
    语句体2;
}

 执行流程:首先判断条件表达式的结果,如果为true执行语句体1,为 false 就执行语句体2。

格式三:

格式3:
if (条件1) {
    语句体1;
} else if (条件2) {
    语句体2;
} else if (条件3) {
    语句体4;
} 
. . .
else {
    语句体n+1;
}

 执行流程:

  1. 先判断条件1的值,如果为true则执行语句体1,分支结束;如果为false则判断条件2的值
  2. 如果值为true就执行语句体2,分支结束;如果为false则判断条件3的值
  3. ...
  4. 如果没有任何条件为true,就执行else分支的语句体n+1。

switch分支

也是匹配条件去执行分支, 适合做值匹配的分支选择,结构清晰,格式良好。

switch(表达式){
    case 值1:
        执行代码...;
        break;
    case 值2:
        执行代码...;
        break;
    … 
    case 值n-1:
        执行代码...;
        break;
    default:
        执行代码n;
}

执行流程:

  1. 先执行表达式的值,拿着这个值去与case后的值进行匹配。
  2. 匹配哪个case的值为true就执行哪个case,遇到break就跳出switch分支。
  3. 如果case后的值都不匹配则执行default代码。

switch分支注意事项:

  1. 表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、 不支持double、float、long。
  2. case给出的值不允许重复,且只能是字面量,不能是变量。
  3. 不要忘记写break,否则会出现穿透现象。

switch的穿透性

如果代码执行到没有写break的case块,执行完后将直接进入下一个case块执行代码(而且不会进行任何匹配),直到遇到break才跳出分支,这就是switch的穿透性。

存在多个case分支的功能代码是一样时,可以用穿透性把流 程集中到同一处处理,这样可以简化代码。

循环结构

for 循环

控制一段代码反复执行很多次。

格式:
for (初始化语句; 循环条件; 迭代语句) {
    循环体语句(重复执行的代码);
}

while 循环

//while循环格式
初始化语句;
while (循环条件) {
    循环体语句(被重复执行的代码);
    迭代语句;
}

什么时候用for循环,什么时候用while循环

功能上是完全一样的,for能解决的while也能解决,反之亦然。

使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while。

do-while循环

先执行再判断循环条件。

// do while循环格式
初始化语句;
do {
    循环体语句;
    迭代语句;
} while (循环条件);

 do-while循环的特点:一定会先执行一次循环体。

三种循环的区别

for循环 和 while循环(先判断后执行)

do...while (第一次先执行后判断)

for 和 while 的区别:

for循环和while循环的执行流程是一模一样的。

如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。

for循环中,控制循环的变量只在循环中可以使用。While循环中,控制循环的变量在循环后还可以继续使用。

死循环

一直循环的执行下去,如果没有干预不会停止下来。

// 格式
for(;;) {
    System.out.println("Hello World");
}
// 经典做法
while(true) {
    System.out.println("Hello World");
}

do {
    System.out.println("Hello World");
} while (true);

循环嵌套

循环中又包含循环

嵌套循环的特点:外部循环每循环一次,内部循环全部执行完一次。

例如要打印乘法口诀表

        for(int i = 1; i <= 9; i++) {
            for(int j = 1;j <= i; j++){
                System.out.print( j + "x" + i + "=" + i*j + "  ");
            }
            System.out.println("");
        }

跳转控制语句介绍

break : 跳出并结束当前所在循环的执行。可以用在嵌套循环中跳出整个外部循环的并立即结束它。

continue: 用于跳出当前循环的当次执行,进入下一次循环。可以用在嵌套循环中跳出外部循环的当次执行,进入外部循环的下一次。

注意事项

break : 只能用于结束所在循环, 或者结束所在switch分支的执行。 continue : 只能在循环中进行使用。

今天就絮叨到这里。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值