4.程序流程控制

一.顺序结构

程序默认执行流程就是顺序结构。

二.分支结构

2.1 if 分支

2.1.1 什么是 if 分支

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

2.1.2 if 分支的格式

if 分支有三种格式

第一种格式中,如果大括号控制的只有一行代码,则大括号可以省略不写。

2.2 switch分支

2.2.1.什么是switch分支

switch分支也是根据条件表达式的结果去执行相应的分支,适合做值匹配的分支结构,具有结构清晰、格式良好的优点。

2.2.2 switch分支的执行流程

下面是一个switch分支的使用示例及其执行流程:

int a=3;
switch(a){
    case "1":
        modelStaffVo.setStatus("正常");
        break;
    case "2":
        modelStaffVo.setStatus("关机");
        break;
    case "3":
        modelStaffVo.setStatus("下线");
        break;
    case "4":
        modelStaffVo.setStatus("空闲");
        break;
}
  • 第一步:先执行条件表达式的值,拿着这个值去与case后的值进行匹配。

  • 第二步:匹配到哪个case的值为true就执行哪个case,遇到break就跳出switch分支。

  • 第三步:如果case后的值都不匹配则执行default代码。

2.2.4 switch的穿透性

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

switch (1){
    case 1 :
        System.out.println("11111111");
    case 2 :
        System.out.println("22222222");
    case 3 :
        System.out.println("33333333");
        break;
    case 4 :
        System.out.println("44444444");
    default :
        System.out.println("55555555");
        break;
}

运行结果如下,出现了Switch的穿透
11111111
22222222
33333333

2.3 if 分支和 switch 分支的区别

  • if 分支在功能上远远强于 switch 分支。

  • if 分支适合做区间匹配;switch 分支适合做值匹配,代码优雅。

注意事项

  • 条件表达式类型只能是 byte、short、int、char。JDK5 开始支持枚举,JDK7 开始支持 String,不支持 double、float、log。

  • case 给出的值不允许重复,且只能是字面量,不能是变量。

  • 不要忘记写 break,否则会出现穿透现象。但是,如果只是在最后一个分支上没有写 break 的话是没有问题的,但代码的可读性会降低。

三.循环结构

3.1 for循环

3.1.1 for循环格式

3.1.2 for循环执行流程

for循环执行步骤:

  1. 循环一开始,执行 int i=0 一次。

  2. 然后判断循环条件:0<3返回true,进入到循环体中执行输出:HelloWorld,然后执行迭代语句i++,此时i=1了。

  3. 然后判断循环条件:1<3返回true,进入到循环体中执行输出:HelloWorld,然后执行迭代语句i++,此时i=2了。

  4. 然后判断循环条件:2<3返回true,进入到循环体中执行输出:HelloWorld,然后执行迭代语句i++,此时i=3了。

  5. 然后判断循环条件:3<3返回false,循环立即结束。

需要注意的是 i++ 和 ++i 虽然在某些情况下会产生不同的结果。但在 for 循环中,在对循环变量进行递增时,i++ 和 ++i 没有任何区别。

3.2 while循环

3.2.1 while循环格式

3.2.2 while循环执行流程

1.先执行初始化语句

2.然后执行循环条件看是否为true

3.然后执行循环体语句

4.然后执行迭代语句

5.再次执行循环条件看是否为true,以此类推--

3.3 do-while循环

3.3.1 do-while循环格式

3.3.2 do-while循环执行流程

1.先执行初始化语句

2.然后执行循环体语句

3.然后执行迭代语句

4.然后执行循环条件看是否为true

5.再次执行循环体语句、迭代语句

6.再次执行循环条件看是否为true,以此类推--

3.3.3 do-while循环的特点

一定会先执行一次循环体。

3.4 三种循环的区别

1.for循环和while循环:先判断后执行。

2.do...while循环:先执行后判断。

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

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

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

3.5 死循环

3.5.1 什么是死循环

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

3.5.2 死循环的格式

3.6 循环嵌套

3.6.1 什么是循环嵌套

就是循环中又包含循环

3.6.2 嵌套循环的特点

外部循环每循环一次,内部循环全部执行完一次。

四.跳转关键字

4.1跳转关键字介绍

break:跳出并结束当前所在循环的执行。

continue:用于跳出当前循环的当次执行,进入下一次循环。

4.2 break、continue使用时的注意事项

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

continue:只能在循环中使用。

五.Random的使用

5.1 Random的作用

用于在程序中获取随机数的技术。

5.2 Random的使用步骤

1.导包:告诉程序去JDK的哪个包中找随机数技术。

2.写一行代码 Random  r  =  new  Random()得到随机数对象。

3.调用随机数的功能获取0-9的随机数

int  number = r.nextInt(10);

5.3 Random使用时的注意事项

nextInt(n)功能只能生成0到n-1之间的随机数,不包含n。

5.4 Random生成区间随机数的技巧:减加法

例如:要生成1-10之间的随机数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真滴book理喻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值