流程控制语句,分支,循环,跳转控制,随机数

本文详细介绍了Java中的流程控制语句,包括switch分支、for、while和do-while循环,以及跳转控制语句的使用。强调了switch的匹配规则和效率优势,同时讲解了如何创建和控制随机数。此外,还通过实例展示了如何运用这些概念解决实际编程问题,如打印序列、计算数字和及生成特定范围的随机数。
摘要由CSDN通过智能技术生成

流程控制语句,分支,循环,跳转控制,随机数

分支语句(switch)

概念

switch语句主要是对罗列出来的数据进行判断,然后根据判断的结果执行代码;

使用场景

当多个数据值,选其一执行的时候,可以使用switch

格式

switch(表达式){
    case 数值1:
        		代码块1;
        		break;
    case 数值2:
        		代码块2;
        		break;
    ...
    default:
    			代码块n+1;
        		break;
}

执行顺序

根据switch后小括号中的表达式计算出的数据值,依次和大括号中的case后的值做匹配,

谁匹配成功,则执行对应的代码块,遇到break,就会结束

如果都匹配不成功,则执行default中的内容

注意事项

1.switch后小括号的数据类型,只能是 byte,short,int,char,String,枚举,这几个类型

2.每一个case下面的break可以不写,但是如果不写,会发生穿透现象

3.穿透:就是从匹配成功的case值处开始执行代码,一直向下执行,直到遇到break或者大括号,switch才会结束;

4.default可以写在case的上面或者中间,或者下面,或者省略,但是建议写在最后.(根据业务需求,决定是否省略default)

5.case中的值不能重复,并且case后不能跟变量,只能跟常量

switch和if

  • switch 写的语句,都能用if替换
  • switch 后面只能对单个值进行相等判断,if可以判断更多的逻辑

if(week>5&&week<10)这种不能用switch判断

  • switch 比if效率高,条件越多,效果越明显

循环语句

概念

重复性的执行某一段代码

3中循环语句

for循环

格式

for(初始化语句1;条件判断语句2;步进语句4){
    循环体3;
} // 1,2,3,4这四个数字表示的是语句编号 

执行流程

先执行1,然后判断2是true还是false,如果是true,则执行3,然后执行4,然后判断2是true还是false,如果还是true,则继续循环…直到2变成fasle,循环才结束

while循环

格式

初始化语句1;
while(条件判断语句2){
    循环体3;
    步进语句4;
}

执行流程

先执行1,然后判断2是true还是false,如果是true,则执行3,然后执行4,然后再判断2是否为true,是true的话,继续循环…直到2变成了fasle,循环才会结束

do{}while()循环

格式

初始化语句1;
do{
    循环体3;
    步进语句4;
}while(条件判断语句2);

执行流程

先执行1,然后执行3,然后执行4,然后再判断2是true还是false,如果是true,则再执行3,再执行4,再判断2,是否为true,为true继续执行循环体,直到2为false,循环体才会结束,与for和while不同的是,这个循环体会先执行一次循环体,然后再判断,可以用先斩后奏来形容

练习

1.打印输出1-5,5-1;

2.(1)求1-5之间所有的数字和,包含1和5

(2)求1-100之间所有的偶数和,包含1和100

3.打印"水仙花"数

3中循环的区别

1.for和while都是先判断,再循环;而do while是先循环,后判断;(do while循环至少会执行1次)

2.默认情况下,for循环中的初始化语句定义的变量,在for循环结束后,不能继续使用了;而while和do while结束后,可以继续使用初始化语句的变量;

3.for和while在所有的情况下,都是可以等价互换的,但根据经验,如果有明确的循环次数或区间,推荐使用for;没有明确的次数,推荐使用while;

死循环(无限循环)

条件一直为true,那么这个循环就是无限循环;

情况1

for(;;){
	...
}

情况2

while(true){
	...
}

情况3

do{
	...
}while(true);

跳转控制语句

概念

主要对循环流程进行控制;(可以跳过某一次循环,或者直接结束循环)

语法

continue : 跳过某次循环体内容的执行,只能用在循环里,for,while,do while 都可以用,循环中遇到continue,当前这次循环结束,continue后面的代码不会执行,开始下一次循环

在这里插入图片描述

break : 终止循环体内容的执行

System.exit(0); // 这个代码也能终止循环,不过不常用,这个是直接关闭jvm虚拟机

除此之外,还可以用return语句,退出循环,具体使用哪个要看个人习惯和具体需求

使用方法

需要写在循环的大括号中,基于条件控制语句使用

注意:如果不使用if语句的情况下使用,语法不报错,但是没有实际意义

标号语句

给循环起个名字,然后配合break或continue控制带名字的循环;

	lo:  // 循环的别名,自己随意起的
	while(...){
        ...
        break lo; // 结束循环
    }

	lo2: // 循环的别名,自己随意起的
	for(...;...;...){
        ...
        break lo2;
    }

随机数

使用步骤

1.导包,必须放在类的上面 import java.util.Random;

2.创建对象 Random r = new Random();

3.生成随机数 int x = r.nextInt(范围a);

注意事项

1.小括号中的范围a,表示生成的数字是0到a-1

2.指定的范围a必须是大于0的整数

3.生成[m,n]范围的随机数公式:int x = r.nextInt(n-m+1)+m

练习

1.猜数字案例

2.打印99乘法表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值