news 2026/6/5 4:46:56

【Java 】逻辑控制 0基础的快来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Java 】逻辑控制 0基础的快来

🧭 Java 逻辑控制详解 🥰

文章目录

  • 🧭 Java 逻辑控制详解 🥰
    • 📖 本文导读
    • 1️⃣ 顺序结构 🙂
    • 2️⃣ 分支结构 🤨
      • 2.1 if 语句
      • 2.2 switch 语句
        • 🔄 switch 穿透现象 😮
        • 📋 switch 支持的类型(留个印象就好了)
    • 3️⃣ 循环结构 🤔
      • 3.1 while 循环
      • 3.2 do-while 循环
      • 3.3 for 循环
        • 🔁 for 循环的执行顺序
      • 3.4 增强for循环(for-each)
    • 4️⃣ break 和 continue 😏
      • 4.1 break — 跳出整个循环
      • 4.2 continue — 跳过本次循环
      • 4.3 带标签的 break(了解)
    • 5️⃣ 循环嵌套 🤓
    • 📊 小结
    • ✍️ 写在最后

📌 逻辑控制是编程的基础,决定了程序的执行流程

即使你有C/C++的基础,但有一些细节还是需要注意


📖 本文导读

本文将系统讲解 Java 的三种程序控制结构:顺序结构分支结构循环结构,以及breakcontinue的使用技巧。适合 Java 初学者阅读。


1️⃣ 顺序结构 🙂

最简单的程序结构:从上到下,依次执行。

publicclassTest{publicstaticvoidmain(String[]args){System.out.println("第一步");System.out.println("第二步");System.out.println("第三步");}}

没什么好说的,就是按顺序一行一行执行。


2️⃣ 分支结构 🤨

分支结构让程序可以根据条件选择不同的执行路径。

2.1 if 语句

publicclassTest{publicstaticvoidmain(String[]args){intscore=85;if(score>=90){System.out.println("优秀");}elseif(score>=60){System.out.println("及格");}else{System.out.println("不及格");}// 输出:及格}}

⚠️if 语句的常见陷阱:

// 错误写法:分号提前结束了 ifif(score>=60);{System.out.println("及格");// 永远会执行!}

分号;是一条空语句,上面的代码等价于:

if(score>=60){}// 什么都不做{System.out.println("及格");}// 独立的代码块,永远执行

2.2 switch 语句

publicclassTest{publicstaticvoidmain(String[]args){intday=3;switch(day){case1:System.out.println("星期一");break;case2:System.out.println("星期二");break;case3:System.out.println("星期三");break;case4:System.out.println("星期四");break;case5:System.out.println("星期五");break;case6:case7:System.out.println("周末");break;default:System.out.println("无效输入");break;}// 输出:星期三}}
🔄 switch 穿透现象 😮

忘记写break会发生穿透:

publicclassTest{publicstaticvoidmain(String[]args){intnum=2;switch(num){case1:System.out.println("一");case2:System.out.println("二");case3:System.out.println("三");default:System.out.println("其他");}// 输出:// 二// 三// 其他}}

💡 穿透不一定是坏事,合理利用可以简化代码:

case6:case7:System.out.println("周末");// 6 和 7 都执行这里break;
📋 switch 支持的类型(留个印象就好了)
Java 版本支持的类型
Java 5 及之前byteshortintchar
Java 5新增enum(枚举)
Java 7新增String(字符串)
// Java 7+ 支持 StringStringcolor="red";switch(color){case"red":System.out.println("红色");break;case"green":System.out.println("绿色");break;default:System.out.println("未知颜色");}

3️⃣ 循环结构 🤔

循环结构让程序可以重复执行某段代码。

3.1 while 循环

publicclassTest{publicstaticvoidmain(String[]args){inti=1;while(i<=5){System.out.println("第 "+i+" 次");i++;}}}

3.2 do-while 循环

先执行一次,再判断条件:

publicclassTest{publicstaticvoidmain(String[]args){inti=1;do{System.out.println("第 "+i+" 次");i++;}while(i<=5);}}

🔍while vs do-while:

  • while:先判断,可能一次都不执行
  • do-while:先执行一次,至少执行一次

当你需要至少执行一次时,用do-while


3.3 for 循环

最常用的循环:

publicclassTest{publicstaticvoidmain(String[]args){// 打印 1 到 5for(inti=1;i<=5;i++){System.out.println("i = "+i);}// 计算 1 到 100 的和intsum=0;for(inti=1;i<=100;i++){sum+=i;}System.out.println("sum = "+sum);// 5050}}
🔁 for 循环的执行顺序
for (初始化; 条件判断; 迭代) { 循环体; }

执行流程:

初始化 → 条件判断(true) → 循环体 → 迭代 → 条件判断(true) → ... ↘ 条件判断(false) → 结束循环

图示理解:

true

初始化

条件判断

循环体

迭代


3.4 增强for循环(for-each)

类似C/C++的范围for
用于遍历数组或集合:

publicclassTest{publicstaticvoidmain(String[]args){int[]arr={1,2,3,4,5};// 普通for循环for(inti=0;i<arr.length;i++){System.out.println(arr[i]);}// 增强for循环for(intnum:arr){System.out.println(num);}}}

⚠️for each循环的局限性:

  • 无法获取索引
  • 无法修改数组元素的值(因为是值传递)
  • 无法删除元素
int[]arr={1,2,3};for(intnum:arr){num=0;// 这不会改变数组!}System.out.println(Arrays.toString(arr));// [1, 2, 3]

4️⃣ break 和 continue 😏

4.1 break — 跳出整个循环

publicclassTest{publicstaticvoidmain(String[]args){for(inti=1;i<=10;i++){if(i==5){break;// 跳出循环}System.out.println("i = "+i);}// 输出:1 2 3 4}}

4.2 continue — 跳过本次循环

publicclassTest{publicstaticvoidmain(String[]args){for(inti=1;i<=5;i++){if(i==3){continue;// 跳过本次}System.out.println("i = "+i);}// 输出:1 2 4 5}}

4.3 带标签的 break(了解)

这个用得很少
Java 支持带标签的 break,可以跳出多层循环:

publicclassTest{publicstaticvoidmain(String[]args){outer:// 标签for(inti=1;i<=3;i++){for(intj=1;j<=3;j++){if(i==2&&j==2){breakouter;// 跳出外层循环}System.out.println("i = "+i+", j = "+j);}}// 输出:// i = 1, j = 1// i = 1, j = 2// i = 1, j = 3// i = 2, j = 1}}

5️⃣ 循环嵌套 🤓

循环里面套循环,经典案例:九九乘法表

publicclassTest{publicstaticvoidmain(String[]args){// 打印九九乘法表for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.printf("%d×%d=%-4d",j,i,i*j);}System.out.println();}}}

输出:

1×1=1 1×2=2 2×2=4 1×3=3 2×3=6 3×3=9 ...

📊 小结

结构关键字特点
顺序结构-从上到下依次执行
分支结构ifelseswitch根据条件选择执行路径
循环结构whiledo-whilefor重复执行某段代码
跳转语句breakcontinue控制循环的跳出和跳过

💡选择哪种循环?

  • 知道循环次数 →for
  • 不知道循环次数,可能一次都不执行 →while
  • 不知道循环次数,至少执行一次 →do-while
  • 遍历数组或集合 → 增强for(for-each)

✍️ 写在最后

逻辑控制是编程的基石,掌握好分支和循环,才能写出灵活的程序。下一篇我们将讲解Java 方法

如有问题或建议,欢迎在评论区留言交流! ✨

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 4:45:34

可审计AI:构建模型公平性与决策可追溯的工程化流水线

1. 这不是给AI加个“审计报告”&#xff0c;而是重建模型可信的底层逻辑 “Can Auditable AI Improve Fairness in Models?”——这个标题乍看像一篇学术论文的提问&#xff0c;但在我过去十年跑过上百个落地项目、从信贷风控模型到医疗影像辅助诊断系统、从招聘筛选工具到城市…

作者头像 李华
网站建设 2026/6/5 4:44:57

无人机固件自由:DankDroneDownloader让你的设备真正属于你

无人机固件自由&#xff1a;DankDroneDownloader让你的设备真正属于你 【免费下载链接】DankDroneDownloader A Custom Firmware Download Tool for DJI Drones Written in C# 项目地址: https://gitcode.com/gh_mirrors/da/DankDroneDownloader 你是否曾为无人机固件被…

作者头像 李华
网站建设 2026/6/5 4:38:29

AI驱动的数字孪生实战:从数据对齐到工业闭环决策

1. 项目概述&#xff1a;这不是科幻&#xff0c;是正在车间、电网和手术室里跑起来的“数字分身”“AI-Powered Digital Twins”——这个标题里藏着三个被日常用滥、却极少被真正吃透的词&#xff1a;“AI”、“Digital Twin”、“Real-World Optimization”。我干这行十多年&a…

作者头像 李华