Java中的流程控制结构
流程控制结构分为:顺序结构、分支结构 和 循环结构。
1、顺序结构:从上往下依次进行的结构。
2、分支结构:if-else 和 switch-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、循环结构:for、while 和 do-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 ; //结束指定标识的一层循环结构的当次循环
}
本文来自博客园,作者:萧若風,转载请注明原文链接:https://www.cnblogs.com/XiaoRuoFeng/p/16399298.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~