Java中的流程控制结构

流程控制结构分为:顺序结构分支结构循环结构

1、顺序结构:从上往下依次进行的结构。

2、分支结构:if-elseswitch-case 结构。

if-else 结构:

分为3种:

① if(条件表达式){

执行代码...
}

② if(条件表达式){

执行代码...

}
else{

执行代码...

}

③ if(条件表达式){

执行代码...

}
else if{

执行代码...

}
else{

执行代码...

}

注意:

① 如果在开发中,使用if-else语句写代码超过3层时,那么需要重新思考代码的架构是否有更优的方法来写。

② 如果if-else语句里只有1行代码时,可以省略大括号,但是不建议这样写

③ 在多层的if-else语句中,如果都省略了大括号的情况下,那么else会和最近的if进行配对,也就是就近原则

switch-case 结构:

switch(表达式){
case 常量1:
执行语句;
break;
case 常量2:
执行语句;
break;
...
default:
执行语句n;
break;
}

注意:

① 根据switch中的值,依次匹配case中的各个常量。当遇到匹配成功的时候,则进入该case中执行相应的执行语句。执行完后继续向下执行,直到遇到break关键字或者执行到此结构末尾则结束。

② break关键字,可以应用到switch-case语句中,当遇到此关键字,则结束执行switch-case结构语句。

③ switch结构中的表达式,只能是这6种数据类型:byte、short、char、int、枚举类型(JDK5.0新增)、String类型(JDK7.0新增)

④ case之后只能声明常量,不能声明范围。

⑤ break关键字是可选的。

⑥ default是可选的,位置也是灵活的。

总结:

① 凡是可以使用switch-case的结构,都可以转换成if-else结构,反之,不成立。

② 当我们写分支结构时候,发现既可以使用switch-case结构(同时,switch-case表达式的取值情况不太多时),又可以使用if-else结构时候,首选使用switch-case结构,因为:执行效率稍高。

3、循环结构:forwhiledo-while 结构。循环结构四个要素:初始化条件、循环条件、循环体、迭代条件。

(1)for循环结构:

for ( 初始化条件; 循环条件; 迭代条件 ){
循环体
}

(2)while循环结构:

初始化条件;
while( 循环条件(布尔类型) ){
循环体;
迭代条件;
}

注意:

① 写while循环时,要避免丢失了迭代条件。丢了容易导致死循环。

② 写循环程序避免出现死循环。

③ for循环和while循环之间可以相互转化。

(3)do-while循环结构:

初始化条件;
do {
循环体;
迭代条件;
} while( 循环条件(布尔类型) );

注意:

② do-while循环至少会执行一次循环体。

② 开发中使用for循环和while循环更多一些。较少使用do-while循环。

(4)补充1:while(true)结构的使用:

while(true){

循环体;

}

(5)补充2:嵌套循环的使用:将一个循环结构A声明在另一个循环结构B中,就是嵌套循环。

外层循环:循环结构B

内层循环:循环结构A

说明:

① 当内层循环结构遍历一遍,只相当于外层循环结构的循环体执行一次。

② 假设外层循环结构需要执行 m 次,内层循环结构需要执行 n 次,此时内层循环结构的循环体一共执行了 m × n 次。

(6)补充3:break 和 continue 关键字的使用:

① 使用范围:

break:switch-case 结构和循环结构中;

continue:循环结构中

② 在循环中使用的作用:

不同点:

break:结束当前循环(如果在多层循环结构中,break默认结束包裹此关键字最近的一层循环结构的所有循环

continue:结束当次循环(如果在多层循环结构中,continue默认结束包裹此关键字最近的一层循环结构的当次循环

相同点:在break和continue关键字后面都不能声明执行语句。

③ 带label标签的break和continue的使用:

写法:

label: for( 初始化条件; 循环条件; 迭代条件; ){

循环体;

break: label ; //结束指定标识的一层循环结构

continue: label ; //结束指定标识的一层循环结构的当次循环

}

posted @   萧若風  阅读(241)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示