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

Java 程序逻辑控制的核心语法与实战

📚 目录

  • 1.顺序结构
  • 2.分支结构
    2.1:if语句
    2.2:switch语句
  • 3.循环结构
    3.1:while循环
    3.2:break与continue
    3.3:for循环
    3.4:do-while循环


前言:
如果你刚接触 Java 编程,一定会发现:写出 “能跑的代码” 不难,但写出 “逻辑清晰、符合业务需求” 的代码,核心就在于掌握程序的逻辑控制。
程序逻辑控制是 Java 的 “骨架”,它决定了代码的执行顺序、条件判断和循环重复 —— 小到判断一个数字是否为奇数,大到实现电商订单的流程判断,都离不开 if-else、switch、for/while 这些基础语法。

1. 顺序结构

publicclasstest1{publicstaticvoidmain(String[]args){System.out.println("aaa");System.out.println("bbb");System.out.println("ccc");}}

顺序结构就比较简单了。
顺序结构:就是按照我们的书写顺序依次执行代码。

🔙 返回目录




2. 分支结构

if语句

语法格式:

if(布尔表达式){//里面是我们自己写的语句}

使用举例:

publicclasstest1{publicstaticvoidmain(String[]args){inta=90;if(a>85){System.out.println("优秀");}}}


第二种语法格式:if - else

publicclasstest1{publicstaticvoidmain(String[]args){inta=80;if(a>85){System.out.println("优秀");}else{System.out.println("良");}}}


第三种语法格式: if -else if -else

publicclasstest1{publicstaticvoidmain(String[]args){inta=70;if(a>90){System.out.println("优秀");}elseif(a>80){System.out.println("良");}else{System.out.println("及格");}}}


题目:区分分数的等级:优秀>90 ;良>80并且<90 ; 中等:>70并且<80 ;及格>60并且<70;不及格<60;

publicclasstest1{publicstaticvoidmain(String[]args){inta=70;if(a>=90){System.out.println("优秀");}elseif(a>=80){System.out.println("良");}elseif(a>=70){System.out.println("中等");}elseif(a>=60){System.out.println("及格");}else{System.out.println("不及格");}}}

注意:
再if后面不要写分号,不然就算结果位true也不执行{ }里面的语句。
if / else 语句中可以不加大括号.但是也可以写语句(只能写⼀条语句).此时else是和最接近的if匹配.但是实际开发中我们不建议这么写.最好加上大括号。

switch语句

语法形式:

执行流程:先计算表达式的结果,当结果满足常量值1或者别的常量值的时候,执行的是常量值后面{ }中的语句。当结果都不满足则执行default里面的语句。
使用举例:

publicclasstest1{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);inta=scanner.nextInt();switch(a){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:{System.out.println("星期六");break;}case7:{System.out.println("星期日");}default:{System.out.println("输入错误");break;}}}}


注意:
case后面的常量值不能够重复。
switch语句的括号后面只能是这几个类型::byte、char、short、intString常量串、枚举类型。
break不要遗漏,否则会失去"多分支选择"的效果。

如:

publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);inta=scanner.nextInt();switch(a){case1:{System.out.println("星期一");}case2:{System.out.println("星期二");}case3:{System.out.println("星期三");}case4:{System.out.println("星期四");}case5:{System.out.println("星期五");}case6:{System.out.println("星期六");}case7:{System.out.println("星期日");}default:{System.out.println("输入错误");}}}}


switch不能表达复杂的条件
switch支持嵌套,但是不是特别推荐,因为嵌套起来非常丑:

publicclasstest1{publicstaticvoidmain(String[]args){inta=10;switch(a){case1:{break;}case2:{switch(a){case1:{break;}case2:{break;}default:{break;}}}default:{break;}}}}

这样使用起来就会让我们的代码特别的丑,不利于观看。

🔙 返回目录




3. 循环结构

while循环

语法形式:

while(循环条件){//我们自己写的循环语句}

使用举例:

publicclasstest1{publicstaticvoidmain(String[]args){inti=0;while(i<10){System.out.println(i);i++;}}}


注意:
while语句于if语句类似,while循环后面的括号不要加上分号。
while语句可以不写花括号,但是不写花括号的时候只支持一条语句。
使用break能够跳出循环(让循环提前结束)。否则只写一条 语句的时候没有break有时候就会造成死循环。

🔙 返回目录



break与continue

break:让循环提前结束。
例如:

publicclasstest1{publicstaticvoidmain(String[]args){inti=0;while(i<10){System.out.println(i);i++;if(i==5){break;}}}}

continue:跳过本次循环,执行下次循环。
例如:

publicclasstest1{publicstaticvoidmain(String[]args){inti=0;while(i<10){i++;if(i==5){continue;}System.out.println(i);}}}

🔙 返回目录



for循环

语法形式:

for(表达式1;表达式2;表达式3){//循环语句}

注意:
表达式1:用于初始化循环变量初始值设置,在循环最开始时执行,且只执行⼀次。
表达式2:循环条件,为true则进入循环,为false则退出循环。
表达式3:循环变量的更新方式。
执行过程:先执行表达式1并且只执行1次,然后执行 表达式2进行判断,后进入循环执行循环语句,再执行表达式3对变量条件进行改变,循环往复,直到表达式为false,退出循环。

举例:打印1-10数字

publicclasstest1{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){System.out.println(i);}}}

🔙 返回目录



do-while循环

语法形式:

do{//循环语句}while(循环条件);

注意:
先进行循环语句,然后再进行对循环条件的判断,不管循环条件为true还是false,都会执行一次循环语句再进行循环条件的判断。
while()后面需要加分号。

使用举例:

publicclasstest1{publicstaticvoidmain(String[]args){intnum=1;do{System.out.println(num);num++;}while(num<=10);}}


实战举例:求出0〜999之间的所有“水仙花数”并输出。(“水仙花数”是指⼀个三位数,其各位数字的水仙和确好等于该数本身。

publicclasstest1{publicstaticvoidmain(String[]args){//水仙花数只有在100-999范围内for(inti=100;i<999;i++){intsum=0;//求各个数字的立方和inta=i;//为了不让i改变,定义一个变量进行改变intr=0;while(a!=0){r=a%10;a/=10;sum+=Math.pow(r,3);}if(sum==i){System.out.println(i);}}}}

🔙 返回目录



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

相关文章:

  • 基于Matlab的SVM人脸识别系统
  • RexUniNLU企业级落地:从政务简报到投研报告,零样本NLP的实用价值
  • 百达翡丽/爱彼/江诗丹顿维修指南:北京上海深圳杭州南京无锡高端腕表故障科普+门店推荐 - 时光修表匠
  • linux系统管理基本命令行
  • “基于条件风险价值的合作型Stackelberg博弈微网动态定价与优化的仿真研究”
  • 【开题答辩全过程】以 基于 Spring Boot 的校园快递物流管理系统的设计与实现为例,包含答辩的问题和答案
  • 为什么推荐北京圣擎航空? - 今日又土又金
  • 2026年制造业短视频营销实测江苏TOP5 - 精选优质企业推荐榜
  • 傻瓜式教你入门OpenClaw 【window、Mac适用】
  • 久茂自动化:德国精工与中国智造的融合,打造压差传感器/工业传感器/温度传感器行业标杆 - 品牌推荐大师1
  • 148.排序链表
  • OpenClaw 小龙虾养成记:手把手教你上线第一只 AI 助手!
  • 如何回收永辉超市购物卡? - 团团收购物卡回收
  • 一图区分MCP,Plugin,Tools,Skills,Hooks/Subagents概念
  • 出海营销大变局:超三成流量向AI迁移,企业如何打破“AI搜索隐形”困局? - 资讯焦点
  • CAN通信栈实战详解(Can通讯原理+配置+实战项目需求)
  • SQLerror注入boolean注入其他注入
  • 高柔性扁平电缆在半导体光刻机与气浮运动平台中的应用与品牌推荐 - 资讯焦点
  • ESP32学习笔记(十)——I2C通信
  • 揭秘AI论文工具隐藏玩法:8款免费神器1小时出10万言,无虚假引用 - 麟书学长
  • 在R语言中,基本的算术运算是数据分析和计算的基础
  • ssm+java2026年毕设社区二手交易平台【源码+论文】
  • 渐变文字的小技巧
  • 装修季必看!迷你考拉自助仓库解决搬家装修物品寄存的仓储难题 - 资讯焦点
  • 深度学习第五节课之半监督食物分类系统下
  • 面向AI全栈工作流的个人工作站构建指南:从硬件选型到系统抉择
  • 量子纠缠就是递归元——朱梁渡劫递归元范式下的量子力学阐释
  • 2026-3-9 数据库
  • 狂神说JAVA面向对象
  • 2026-03-12 GitHub 热点项目精选