程序流程控制

一、顺序结构

自上而下的执行顺序

二、分支结构

根据条件,选择对应的代码执行 if,switch

1.if分支三种形式

(1)概念
(2)练习

2.switch分支结构

通过比较值是否相等,来决定执行哪条分支

(1)概念
(2)switch分支结构几点注意事项
①switch表达式类型不支持double、float、long
②case给出的值不允许重复,且只能是字面量,不能是变量。

若是 case 给出的值是 变量,但是程序执行到该代码段之后,并不清楚 b 的赋值是多少,所以如果 b 的值和其他 case 给出的值一样的话,那么就容易造成重复

③正常使用switch,不要忘记写 break,否则会出现穿透现象

穿透性的作用:相同程序的case块,可以通过穿透性进行合并,从而减少重复代码的书写

三、循环结构

  • 控制某段代码重复地执行
  • 减少代码的重复编写、灵活控制程序的执行

1.for

(1)for循环概念

控制一段代码反复执行很多次

(2)for循环案例:
①求和
②求基数和

需求:求1-10之间的基数和,并把求和结果在控制台输出

2.while循环

①概念
②for和while的区别和使用场景
  • 功能上完全一样,for能解决的while也能
  • 使用规范:知道循环几次,用for;不知道循环几次,用while
③while的应用案例

这里并不知道需要循环多少次,所以使用的是while。

且大致思维主要是比较累加纸张厚度和珠穆朗玛峰高度之间的比较,如果纸张厚度没有达到山的高度,那么就一直累乘,因为是折叠,不是用纸张摞

3.do-while

(1)概念

先执行后判断

(2)案例

4.死循环

(1)概念

可以一直执行下去的一种循环,如果没有干预不会停下来

5.嵌套循环

(1)概念

循环中又包含循环

四、break、continue

1.概念

  • break:跳出并结束当前所在循环的执行(只能结束所在循环,或结束所在switch分支的执行)
  • continue:跳出当前循环的当次执行,直接进入循环的下一次执行(只能循环中使用)

五、综合案例

1.简单计算器

2.猜数字游戏

这里随机出100以内两个整数有两种方法:

  • Math.random( )返回 [0,1)之间的随机小数,前面加int,后面乘以100,变成了 [0,100)之间的整数,那么就是【0,99】,【0,99】+1 =【1,100】
  • new Random()得到一个随机对象 r,r.nextInt(100)得到【0,99】,【0,99】+1 = 【1,100】

3.验证码

思路:

  1. 定义一个字符串变量用于记录
  2. 循环3次,每次生成0-2之间的整数,然后0代表数字,1代表大写,2代表小写
  3. 将每次循环中生成的数字进行判断。如果是0,那么随机生成0-9之间的数字,添加到code中;如果是1,那么就是要生成A-Z之间的字母;如果是2,那么生成a-z之间字母(如何实现A-Z呢,Math.random()*26,范围在【0,26)是double类型,加上A,是char类型,java中将double和char类型自动转换为 int 类型,int 型相加之后,用 char 将 int 型强制转换为 字母)

4.找素数

  1. 方法当中,遍历2到给的数据一半,如果这个数能将给的数据整除,那么就不是素数,否则就是,分别返回布尔型。
  2. 主程序中遍历101到200之间,每次循环,调用判断素数的方法,如果是真,说明该数是素数,直接输出。
  3. 方法当中的形参,在主程序中调用时是传入的循环遍历101-200之间的数字。也就是相当于循环输入判断101-200之间的数字是否是素数
相关推荐
FQNmxDG4S6 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
虹科网络安全7 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje7 小时前
Java语法进阶
java·开发语言·jvm
rKWP8gKv78 小时前
Java微服务性能监控:Prometheus与Grafana集成方案
java·微服务·prometheus
老前端的功夫8 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287928 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
小江的记录本8 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
yaoxin5211238 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
极客先躯10 小时前
高级java每日一道面试题-2025年11月24日-容器与虚拟化题[Dockerj]-runc 的作用是什么?
java·oci 的命令行工具·最小可用·无守护进程·完全标准·创建容器的核心流程·runc 核心职责思维导图
用户606487671889610 小时前
AI 抢不走的技能:用 Claude API 构建自动化工作流实战
java