news 2026/4/16 16:57:01

【Java流程控制】--从“跟着走”到“自己控”——三种基本流程控制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Java流程控制】--从“跟着走”到“自己控”——三种基本流程控制

个人主页

目录

    • 前言:
    • Java流程控制是哪三种?
      • 顺序结构
      • 选择结构(分支结构)
        • if 语句
          • if单选择结构
          • if双选择结构
          • if多选择结构
        • switch语句
      • 循环结构
        • while循环
        • do……while循环
        • for循环
        • 循环控制关键字
    • 拓展
      • IDEA中快速创建循环
      • for的死循环
      • 循环中的println和print
      • 循环中可以嵌套循环
      • 增强for循环
      • 类似goto的标签(不推荐使用,仅需知道)
      • switch 的 case 穿透
    • 结尾

前言:

作为编程的“骨架”——流程控制,很多初学者会被顺序、选择、循环绕晕,那才能让代码按照自己的步骤来呢?
其实Java的基本流程控制就三种:顺序结构就像“默认路线”;选择结构就像“判断题”;循环结构就像“重复工作”。就算在复杂的开发都离不开这三种流程。
本文将介绍三种流程控制以及应用帮助你快速掌握这三种基本流程控制

Java流程控制是哪三种?

Java 的三种基本流程控制方式,它们是构建任何复杂程序逻辑的基石。

  • 顺序结构
  • 选择结构(分支结构)
  • 循环结构

顺序结构

这是最简单、最基本的流程控制方式。程序默认按照代码的顺序,从上到下、从左往右依次执行每一句话,没有任何跳过、选择、判断。

代码执行路径是一条直线,没有分支。

publicclassDemo{publicstaticvoidmain(String[]args){inta=10;// |Stringb="HelloWorld!";// | 从上往下一路运行System.out.println(a);// |System.out.println(b);// ↓}}

选择结构(分支结构)

选择结构根据条件判断语句的结果来决定执行那一段代码。它让程序具备了“决策”能力。

if 语句

if语句是最基本的条件判断。

if单选择结构

如果条件为True,则执行某段代码;不然就跳过。

if(条件表达式){// 条件为true 时执行的代码块}

比如:

intscore=85;if(score>=60){System.out.println("成绩及格");}// 输出:成绩及格

if双选择结构

只有一个及格肯定不行,还有一个不及格,这个时候就要用到if……else了。
如果条件为True,执行一个代码块;不然就是执行另一段代码块。

if(条件表达式){// 条件为 true 时执行}else{// 条件为false时执行}

比如:

intscore=55;if(score>=60){System.out.println("成绩及格")}else{System.out.println("成绩不及格");}

if多选择结构

只有大于60的条件和除了60肯定不行,这个时候就要用到if……else if……else了。
用于判断多个条件,满足哪个条件就执行哪个代码块,如果都不满足就执行else。

if(条件1){// 条件1为True时执行}elseif(条件2){// 条件2为True时执行}elseif(条件3){// 条件3为True时执行}else{// 以上都不符合时执行}

比如:

intscore=75;if(score==100){System.out.println("恭喜满分!");}elseif(score<100&&score>=90){System.out.println("A级");}elseif(score<90&&score>=80){System.out.println("B级");}elseif(score<80&&score>=70){System.out.println("C级");}elseif(score<70&&score>=60){System.out.println("D级");}elseif(score<60&&score>=0){System.out.println("不及格");}else{System.out.println("成绩不合法");}

switch语句

switch语句也是多选择结构的,它根据一个表达式的值,从一堆case标签种选择一个执行,如果都没有则执行default

JDK7后,switch的表达式已经支持String类型。

语法:

chargrade='A';switch(grade){case'A':System.out.println("优秀");break;// 输出完优秀后 退出代码块case'B':System.out.println("良好");break;case'C':System.out.println("及格");break;case'D':System.out.println("不及格");break;default:System.out.println("未知等级");}// 输出 优秀

循环结构

循环结构用来在满足一定条件的情况下,反复执行某段代码(称为循环体)。
Java三种主要的循环结构:

while循环

先判断条件,如果时true则进入循环体,然后再判断条件……如此反复,知道条件为false时退出循环。
语法:

while(循环条件){// 循环体// 需要有改变条件的语句,不然会变成死循环}

特点先判断,后执行。如果初始条件就不满足,循环体一次都不会执行。
计算1-100的和:

inti=1;intsum=0;while(i<=100){sum+=i++;// 先 sum = sum + i 再 i = i + 1}System.out.println(sum)// 输出为5050

do……while循环

先执行一次循环体,然后判断条件。如果条件为true,则继续执行循环体,不然就退出。
特点先执行,后判断。无论初始条件是否满足,循环体至少会执行一次

do{// 循环体// (同样需要有改变条件的语句)}while(循环条件);

同样的:

inti=1;intsum=0;do{sum+=i;i++;}while(i<=100);// 注意分号System.out.println("Sum = "+sum);// 输出:Sum = 5050

但是:

inti=1;do{System.out.println("HelloWorld")}while(i==0);// 条件不满足// 输出 HelloWorld

for循环

for循环将循环的初始化、条件判断和更新操作都集中在一个地方,结构非常紧凑,是使用最广泛的循环。

for(初始化语句;循环语句;迭代语句){// 循环体}
  • 初始化语句:在循环开始前执行一次,通常用于声明和初始化循环控制变量。

  • 循环条件:每次循环开始前都会判断此表达式。若为true则继续循环,否则结束。

  • 迭代语句:在每次循环体执行完毕后执行,通常用于更新循环控制变量。

特点:适合已知循环次数的场景
同样的:

intsum=0;for(inti=1;i<=100;i++){// 初始化; 条件; 迭代sum+=i;// 循环体}System.out.println("Sum = "+sum);// 输出:Sum = 5050

循环控制关键字
  • break:立即终止当前所在的整个循环(switch或循环),跳出循环体。
  • continue:跳过本次循环中continue之后的代码,直接进入下一次循环的条件判断。
// 使用 break 找到第一个能被7整除的数后停止for(inti=1;i<=100;i++){if(i%7==0){System.out.println("找到了:"+i);break;// 找到后立即终止循环}}// 使用 continue 只打印奇数for(inti=1;i<=10;i++){if(i%2==0){continue;// 如果是偶数,跳过后面的打印语句}System.out.println(i);// 只打印奇数}

拓展

IDEA中快速创建循环

比如创建一个

for(inti=0;i<100;i++){}

这样的循环可以直接使用100.for

for的死循环

for(;;){}

省略了三个语句

循环中的println和print

println会换行而print不会换行,但是可以使用\n换行符实现换行

for(inti=0;i<5,i++){System.out.print(i)}//输出//01234

循环中可以嵌套循环

如打印99乘法表

for(inti=1;i<10;i++){for(intj=1;j<=i;j++){System.out.print(i+"x"+j+"="+(i*j)+" ");}System.out.print("\n");

增强for循环

可以直接遍历数组集合

int[]numbers={10,20,30,40,50};// 定义了一个数组for(inti=0;i<5;i++){System.out.println(numbers[i]);}System.out.println("=====================");// 遍历数组的元素for(intx:numbers){System.out.println(x);}

类似goto的标签(不推荐使用,仅需知道)

intcount=0;outer:for(inti=101;i<150;i++){for(intj=2;j<150;j++){if(i%j==0){continueouter;}}System.out.println(i+" ");}

switch 的 case 穿透

如果没有break的话 匹配到值时也会把后面的一起执行了

chargrade='D';switch(grade){case'A':System.out.println("优秀");case'B':System.out.println("良好");case'C':System.out.println("及格");case'D':System.out.println("不及格");default:System.out.println("未知等级");}// 输出不及格和未知等级

结尾

掌握 Java 三种基本流程控制,就相当于拿到了编程的 “操作手册”—— 顺序结构定基础,选择结构做判断,循环结构提效率,三者的灵活组合,能让你的代码从 “被动执行” 变成 “主动响应”。

⭐ 如果这对你有帮助,不妨关注和分享一下!

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

腾讯混元Hunyuan-Large:混合专家架构引领大模型效率革命

腾讯混元Hunyuan-Large&#xff1a;混合专家架构引领大模型效率革命 【免费下载链接】Tencent-Hunyuan-Large 项目地址: https://ai.gitcode.com/hf_mirrors/tencent/Tencent-Hunyuan-Large 导语 腾讯正式开源Hunyuan-Large大模型&#xff0c;以3890亿总参数、520亿激…

作者头像 李华
网站建设 2026/4/16 12:21:21

Windows Defender完全禁用指南:2025年系统优化终极方案

Windows Defender完全禁用指南&#xff1a;2025年系统优化终极方案 【免费下载链接】windows-defender-remover 项目地址: https://gitcode.com/gh_mirrors/win/windows-defender-remover 你是否厌倦了Windows Defender无休止的资源占用和性能拖累&#xff1f;是否在追…

作者头像 李华
网站建设 2026/4/15 18:44:26

DeepSeek-V3.1:混合模式与UE8M0 FP8双引擎驱动大模型效率革命

导语 【免费下载链接】DeepSeek-V3.1-Base DeepSeek-V3.1 是一款支持思考模式与非思考模式的混合模型 项目地址: https://ai.gitcode.com/hf_mirrors/deepseek-ai/DeepSeek-V3.1-Base DeepSeek-V3.1通过创新的混合思考模式与UE8M0 FP8量化技术&#xff0c;重新定义了大语…

作者头像 李华
网站建设 2026/4/16 11:08:10

用Wan2.2-T2V-A14B打造高端广告生成平台的完整路径

用Wan2.2-T2V-A14B打造高端广告生成平台的完整路径 在品牌营销节奏越来越快的今天&#xff0c;一条广告从创意构思到上线投放&#xff0c;往往需要经历脚本撰写、拍摄执行、后期剪辑等多个环节&#xff0c;动辄耗费数天甚至数周。而当市场热点稍纵即逝、用户注意力日益碎片化时…

作者头像 李华
网站建设 2026/4/14 18:14:57

阿里Qwen3-Omni全模态大模型:重构人机交互的技术革命与产业价值

导语 【免费下载链接】Qwen3-Omni-30B-A3B-Thinking 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-Omni-30B-A3B-Thinking 阿里通义千问团队推出的Qwen3-Omni全模态大模型&#xff0c;通过创新架构实现文本、图像、音频、视频的原生融合处理&#xff0c;在…

作者头像 李华