当前位置: 首页 > news >正文

【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 方法

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

http://www.jsqmd.com/news/952977/

相关文章:

  • 国内网络环境下,如何快速搞定Rust安装和VS Code配置(附镜像加速)
  • TI XDS100V3仿真器‘失忆’了?别慌,用这个老工具FTProg给它‘重装系统’
  • 录音转写权威指南
  • Python3 MySQL连接(使用mysql-connector)
  • 2026年口碑好的玻璃原料钾长石粉/陶瓷用钾长石粉/钾长石玻璃粉/日用瓷钾长石粉优质厂家汇总推荐 - 品牌宣传支持者
  • 十分钟用快马打造国内场景chatgpt式智能客服原型
  • 2026年6月宴会酒店哪家好,艺术婚礼/生日宴/寿宴/高端宴会/定制婚礼/订婚宴/公司年会/宴会/婚宴,宴会中心推荐 - 品牌推荐师
  • Max抢票机器人:2025年免费开源抢票神器终极指南
  • 生产级机器学习系统:从模型交付到系统契约的工程实践
  • Yelp评论爬虫实战:用BeautifulSoup绕过动态加载与反爬
  • 从零上手DeepSeek API:Node.js手把手完整接入教程
  • 2026年质量好的日用瓷钾长石粉/钾长石厂家对比推荐 - 行业平台推荐
  • 新手福音:借助快马生成的直登号工具代码学习JavaScript核心语法
  • SpringBoot+Vue流动夜市管理信息系统源码+论文
  • 2026年比较好的扇形淋浴房/郑州家装淋浴房/淋浴房品牌厂家推荐 - 行业平台推荐
  • (139页PPT)第1部分企业HSE管理能力培养教材(附下载方式)
  • 从零理解CMOS Sensor的曝光与增益:为什么你的手机夜景照片噪点多?
  • 2025_NIPS_GPT4Tools: Teaching Large Language Model to Use Tools via Self-instruction
  • 书匠策AI:论文写作界的“超级魔法师”,解锁期刊论文新技能!
  • HarmonyOS 6 Popup 气泡弹窗组件使用文档
  • 智能结对编程:如何利用快马AI辅助优化ayx·爱游戏网页弹球项目的代码与性能
  • SpringBoot+Vue服装销售管理系统源码+论文
  • 2026年知名的光伏支架实力工厂推荐 - 行业平台推荐
  • 2026年口碑好的厂区移动雨棚/阳光棚/推拉篷/手动推拉篷优质公司推荐 - 品牌宣传支持者
  • 高效HEIC缩略图方案:Windows HEIC Thumbnail Provider技术解析
  • IM-PINN:基于内禀度量的物理信息神经网络在反应扩散系统中的应用
  • 在LVM上安装Gbase 8S
  • 除了verify=False,安全处理requests库SSL证书验证的3种更优实践(附避坑指南)
  • SQL内核修炼:ICU 医疗监护 — 多设备“危险重叠期”识别 | 详解扫描线算法
  • HarmonyOS 6 AtomicServiceTabs 纯图标样式使用文档