Java基础系列(3)- 程序流程控制
1|0程序流程控制
- 顺序结构
- 分支结构
- 循环结构
顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转
分支结构:根据条件,选择性地执行某段代码。有 if...else 和 switch-case 两种分支语句
循环结构:根据循环条件,重复性的执行某段代码。有while、do...while、for三种循环语句。JDK1.5提供了foreach循环,方便的遍历集合、数组元素
2|0调用Scanner从键盘获取数据
具体实现步骤:
- 导包:import java.util.Scanner;
- Scanner 的实例化:Scanner scan = new Scanner(System.in);
- 调用 Scanner 类的相关方法(next() / nextXxx()),来获取指定类型的变量
3|0一、顺序结构
java 中定义成员变量时采用合法的 前向引用。
不能写成
4|0二、分支语句
4|12.1 if-else 结构
- 语句块只有一条执行语句时,一对 {} 可以省略,但建议保留
- 当 if-else 结构是”多选一“时,最后的 else 是可选的,根据需要可以省略。(
但是不建议省略
) - 当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓。当多个条件是“包含”关系时,“小上大下/子上父下”
三种结构
例子
4|22.2 switch-case 结构
- 根据 switch 表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应case结构中,调用其执行语句。当调用完执行语句以后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾结束为止
- switch(表达式)中表达式的值必须是下述几种类型之一:
byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0)
; - case子句中的值必须是
常量
,不能是变量名或不确定的表达式值; - 同一个switch语句,所有case子句中的常量值互不相同;
- break语句用来在执行完一个case分支后使程序跳出switch语句块;如果没有break,程序会顺序执行到switch结尾
- default子句是
可任选的
(可以写在最前面)。同时,位置也是灵活的。当没有匹配的case时,执行default。
实际例子
4|32.3 循环结构
2.3.1 for 循环
语法格式
应用举例
2.3.2 while 循环
语法格式
应用举例
2.3.3 do-while 循环
do-while循环至少执行一次循环体
语法格式
循环例题1:从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入
为0时结束程序。
循环例题2:99乘法表
循环例题3:100以内的所有质数
循环例题3优化:
4|42.4 特殊流程控制语句(break、continue)
- break只能用于
switch语句
和循环语句
中。 - continue 只能用于
循环语句
中。 - 二者功能类似,但continue是终止
本次
循环,break是终止本层
循环。 - break、continue之后不能有其他的语句,因为程序永远不会执行其后的语句。
- 标号语句必须紧接在循环的头部。标号语句不能用在非循环语句的前面。
- 很多语言都有goto语句,goto语句可以随意将控制转移到程序中的任意一条语句上,然后执行它。但使程序容易出错。Java中的break和continue是不同于goto的。
带标签的使用方式
循环例题3优化:
__EOF__

本文作者:😎
本文链接:https://www.cnblogs.com/dongye95/p/14495873.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/dongye95/p/14495873.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-03-07 Linux实战技能100讲