JavaSE基础(三)—— 程序流程控制、Random随机数

目录

一、顺序结构

二、分支结构

1. if

1.1 if分支有三种格式​编辑

2. switch

2.1 if、switch分支各自适合做什么业务场景

3. switch的穿透性

三、循环结构 

1. for 循环​编辑

2. while 循环

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

3. do-while循环

4. 三种循环的区别

5. 死循环

6. 循环嵌套

7. 跳转控制语句

7.1 break和continue的拓展知识点

四、Random随机数

1. Random生成随机数的特点

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


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

一、顺序结构

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

public class Test { 
    public static void main(String[] args) {
        System.out.println("A");
        System.out.println("B");
        System.out.println("C");
    }
}

二、分支结构

1. if

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

1.1 if分支有三种格式

执行流程:首先判断条件表达式的结果,如果为true执行语句体,为 false 就不执行语句体。
注意事项:if 语句中,如果大括号控制的只有一行代码,则大括号可以省略不写。


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


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

2. switch

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

执行流程:

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

2.1 if、switch分支各自适合做什么业务场景

  • if其实在功能上远远强大于switch。
  • if适合做区间匹配。
  • switch适合做:值匹配的分支选择、代码优雅。

3. switch的穿透性

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

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

三、循环结构 

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

1. for 循环

// 输出3次HelloWorld
for (int i = 0; i < 3; i++) {
    System.out.println("Hello World");
}

执行的流程:
① 循环一开始,执行int i = 0 一次。
② 然后判断循环条件:0 < 3 返回true ,进入到循环体中执行输出 :helloWorld ,然后执行迭代语句i++ , 此时i=1了。
③ 然后判断循环条件:1 < 3 返回true ,进入到循环体中执行输出 :helloWorld ,然后执行迭代语句i++ , 此时i=2了。
④ 然后判断循环条件:2 < 3 返回true ,进入到循环体中执行输出 :helloWorld, 然后执行迭代语句i++ , 此时i=3了。
⑤ 然后判断循环条件:3 < 3 返回false, 循环立即结束。

2. while 循环

 

int i = 0;
while (i < 3) {
    System.out.println("Hello World");
    i++;
}

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

  • 功能上是完全一样的,for能解决的while也能解决,反之亦然。
  • 使用规范是:知道循环几次:使用for;不知道循环几次建议使用:while

3. do-while循环

先执行再判断循环条件。

 

int i = 0;
do {
    System.out.println(“Hello World!");
    i++;
} while( i < 3);

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

4. 三种循环的区别

  • for循环 和 while循环(先判断后执行)
  • do...while (第一次先执行后判断)

for 和 while 的区别:

  • for循环和while循环的执行流程是一模一样的。
  • 如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。
  • for循环中,控制循环的变量只在循环中可以使用。While循环中,控制循环的变量在循环后还可以继续使用。

5. 死循环

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

6. 循环嵌套

循环中又包含循环

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

7. 跳转控制语句

  • break : 跳出并结束当前所在循环的执行。
  • continue: 用于跳出当前循环的当次执行,进入下一次循环。

注意事项:

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

7.1 break和continue的拓展知识点

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

OUT:
for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 5; j++) {
        …
        break OUT;
    }
}

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

OUT:
for (int i = 0; i < 4; i++) {
    for (int j = 0; j < 5; j++) {
        …
        continue OUT;
    }
}

四、Random随机数

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

使用步骤:

①:导包:告诉程序去JDK的哪个包中找随机数技术
②:写一行代码代表得到随机数对象
③:调用随机数的功能获取0-9的随机数

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        Random r = new Random();
        int number = r.nextInt(10);
        System.out.println(“随机生成了: ” + number);
    }
}

注意:nextInt(n) 功能只能生成: 0 至 n-1之间的随机数,不包含n

1. Random生成随机数的特点

nextInt(n)功能只能生成:0 – (n-1)之间的随机数

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

例如:要生成 1 – 10之间的随机数,程序怎么实现?

例如:Random随机数如何生成 65 – 91之间的随机数

  • 65 – 91 => (0 - 26)+ 65
  • int number = r.nextInt(27) + 65;


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心上学事上练

感谢您的支持,让我们一起成长

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

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

打赏作者

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

抵扣说明:

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

余额充值