Java流程控制语句

本文详细介绍了Java中的流程控制语句,包括顺序结构、选择结构(if和switch)和循环结构(while、do...while、for)。讨论了if语句的三种形式,switch语句的规则以及如何避免死循环。最后,提供了练习,如输出1-10(用do...while实现)和100到999的水仙花数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程控制语句是指:可以控制程序的执行顺序。

流程控制语句的分类
顺序结构
选择结构
循环结构

顺序结构:从上往下,依次执行。(演示多条输入语句即可)

选择结构:有两种
if 条件语句
switch 选择语句

循环结构:
while 循环
do…while 循环
for 循环

if语句
if语句的3种表达格式
第一种:if 语句
第二种:if…else语句
第三种:if…else if…else 语句

if(布尔表达) {
//如果布尔表达式为true将执行的语句(语句体)
}
执行流程
先计算比较表达式的值,看其返回值是true还是false。
如果是true,就执行语句体
如果是false,就不执行语句体;

if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
if…else与三元运算符比较
三元运算符实现的,if…else一定可以实现
if…else实现的,三元运算未必能实现,比如if…else里有多条语句,并且不是赋值语句时,三元运算就不能实现,因为三元运算只能赋值。

if(布尔表达式 1){
//如果布尔表达式 1的值为true执行代码
}else if(布尔表达式 2){
//如果布尔表达式 2的值为true执行代码
}else if(布尔表达式 3){
//如果布尔表达式 3的值为true执行代码
}else {
//如果以上布尔表达式都不为true执行代码
}
注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示。

if…else嵌套

switch 语句 语法
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}

switch 语句有如下规则:
1)switch 语句中的变量类型可以是: byte、short、int、long 或者 char。从 Java SE 7 开始,switch 支持字符串类型了,同时 case 标签必须为字符串常量或字面量。
2)switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
3)case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
4)当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
5)当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
6)switch 语句可以包含一个 default 分支,该分支必须是 switch 语句的最后一个分支。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。

循环结构
Java中有三种主要的循环结构:
for 循环
while 循环
do…while 循环

循环结构for语句的格式
for(初始化表达式;条件表达式;循环后的操作表达式) {
循环体;
}
for语句的执行流程
执行初始化语句
执行判断条件语句,看其返回值是true还是false
执行循环体语句;如果是true,就继续执行
如果是false,就结束循环
执行循环体语句;
执行循环后的操作表达式
回到B继。

循环结构while语句的格式
初始化语句
while(判断条件语句) {
循环体语句;
控制条件语句;
}

初始化语句A
while(判断条件语句B) {
循环体语句C;
控制条件语句D;
}

执行流程:
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。

循环结构do …while语句的格式
初始化语句
do {
循环体语句;
控制条件语句;
} while(判断条件语句);

执行流程:
a:执行初始化语句
b:执行判断条件语句,看其返回值是true还是false
如果是true,就继续执行
如果是false,就结束循环
c:执行循环体语句;
d:执行控制条件语句
e:回到B继续。

需求:请在控制台输出数据1-10(使用do … while来实现)
int i = 1;
do{
System.out.println(i);
i++;
}while(i<=10);

死循环
1.while语句的无限循环while (true)
2.for语句的无限循环for (; ; )
循环标记【开发比较少用】
标记:给循环结构指定个名字
作用:标记某个循环后然后对其控制

控制跳转语句return语句
return的作用
返回
其实它的作用不是结束循环的,而是结束方法的。
也就是return后面的代码都不执行了
面试题:return和break以及continue的区别?
return是结束方法
break是跳出循环
continue是终止本次循环继续下次循环
break和continue只能用在循环结构语句中
return,不仅可以用在循环结构中,也可以用在循环结构外

练习:在控制台输出100到999所有的”水仙花数”
在控制台输出100到999所有的”水仙花数”的个数

水仙花
所谓的水仙花数是指一个三位数,其各个位数的数字的立方和等于该数本身。
举例:153就是一个水仙花数。
153 = 111 + 555 + 333 = 1 + 125 + 27 = 153

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值