流程控制语句

本文详细介绍了Java编程中的流程控制语句,包括顺序结构、分支结构(if、if-else、if-elseif-else)、循环结构(for、while、do-while)以及跳转语句(continue、break)。通过实例解析了各种结构的执行流程、语法特点和使用场景,特别强调了switch语句的case穿透现象以及循环控制中的死循环问题。此外,还探讨了如何根据程序需求选择合适的控制结构来优化代码。

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

1、流程控制语句分类:

A.顺序结构

B.分支结构

C.循环结构语句

(1)顺序结构语句

顺序结构语句是Java程序,默认的执行流程,按照代码的先后顺序依次执行。

从上到下,从左到右。

(2)顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

顺序结构执行流程图:

 2、if语句

(1)if语句格式1

 1)格式:

 If(关系表达式){

 语句体;

 }

 2)执行流程:

首先计算表达式的值,

如果关系表达式的值为true就执行语句体;

如果关系表达式的值为false就不执行语句体;

继续执行后面的语句内容。

 3)注意事项:如果if语句所控制的语句体,是一条语句,大括号可以省略不写;但是不建议;If语句的小号号后面,不要写分号; 

(2)if语句格式

1)格式:

If(关系表达式){

语句体;

}else{

语句体2;

}

2)执行流程:

首先计算表达式的值,

如果关系表达式的值为true就执行语句体1;

如果关系表达式的值为false就执行语句体2;

继续执行后面的语句内容。

 

(4)if语句格式3

 1)格式:

 If(判断条件1){

 语句体;

 }else if(判断条件2){

 语句体2;

 }…

 Else{

 语句体n;

 }

2)执行流程:

首先计算表达式的值,

如果判断条件1的值为true就执行语句体1;如果值为false就计算判断条件2的值;

如果判断条件2的值为true就执行语句体2;如果值为false就计算判断条件3的值;

…;

如果没有任何判断条件为true,就执行语句体n+1;

 

 (4)案例(if嵌套if)

 

3、switch语句

(1)格式:

switch(表达式){

case 值1:

语句体1;

break;

case 值2:

语句体2;

break;

default:

语句体n+1;

break;

}

(2)格式说明

表达式:(将要被匹配的值)取值为byte,short,int,char,JDK5以后可以是枚举,JDK7以后可以是String;

case:后面跟的是要和表达式进行比较的值(被匹配的值);

break:表示中断结束的意思,用来结束switch语句;

default:表示所有情况都不匹配时,就执行该处内容,和if语句的else相似;

(3)执行流程:

首先计算表达式的值;

依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束;

如果所有的case后面的值和表达式的值都不匹配,就执行default里面的语句体,然后程序结束掉。

(4)注意事项:

case给出的值不允许重复;

case后面的值只能是常量,不能是变量

 (5)  Switch的case穿透

如果switch语句中,case控制的语句体后面省略break,就会出现case产生穿透;

现象:当开始case穿透,后续的case就不会匹配效果,内部的语句都会执行;

直到看到break,或将整体switch语句执行完毕,才会结束;

例如:需要键盘录入星期数,输出工作日、休息日;(1-5)工作日,(6-7)休息日;

 

(6)应用场景:当发现switch语句中,多个case给出的语句体出现了重复,就可以考虑使用case穿透来优化代码。

4、循环语句

重复做某件事情,具有明确的开始和停止标志;

(1)for循环语句

1)格式

for(初始化语句;条件判断语句;条件控制语句){

循环体语句;

}

2)执行流程

A.执行初始化语句;

B.执行条件判断语句,看其结果是true还是false

     如果是false,循环结束;

     如果是true,继续执行;

C.执行循环体语句;

D.执行条件控制语句;

E.回到B继续;

(2)while循环语句

1)基本格式:

while(条件判断语句){

循环体语句;

}

2)完整格式:

初始化语句;

while(条件判断语句){

循环体语句;

条件控制语句;

}

例子:下面for和while效果一样。

 

3)执行流程

A.执行初始化语句;

B.执行条件判断语句,看其结果是true还是false

     如果是false,循环结束;

     如果是true,继续执行;

C.执行循环体语句;

D.执行条件控制语句;

E.回到B继续;

不明确循环次数用while,明确循环次数用for

(3)do…while循环语句(用的比较少)

1)基本格式:

do{

循环体语句;

}while(条件判断语句);

2)完整格式:

初始化语句;

do{

循环体语句;

条件控制语句;

}while(条件判断语句);

3)执行流程:

A.执行初始化语句;

B.执行循环体语句;

C.执行条件控制语句;

D.执行条件判断语句,看其结果是true还是false

     如果是false,循环结束;

     如果是true,继续执行;

E.回到B继续;

无论判断条件是否满足,至少执行一次循环;

4)三种循环区别

A.for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行);

B.do….while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断);

C.for和while的区别:

条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了;

条件控制语句所控制的自增变量,对于while循环来说,不归属其语法结构中,在while循环结束后,该变量还可以继续使用。

5)do…while循环语句中的死循环

A.for死循环

for(;;){

}

B.while死循环(最常用的)

while(true){

}

C.do…while 死循环

do{

}while(true);

 

命令提示符窗口中Ctrl+C可以结束死循环;

5、跳转控制语句

(1)跳过某次循环体内容的执行:continue;

注意:使用是基于条件控制的;

例如:模拟电梯上行的过程中,1-24层,4层不停;

 

(2)终止循环体内的执行

Break;

注意:使用是基于条件控制的

(3)小结:

A.continue用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行;

B.break用在循环中,基于条件控制,种植循环体内容的执行i,就是说结束当前的整个循环;

C.break和continue只能跳、跳过自己所在的那一层关系,如果要想跳出、跳过指定的一层就可以加入标号;

D.结构:

标号名:while(true){

switch(表达式){

case 1:

break 标号名;

}

}

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值