Java基础入门流程控制全解析:分支、循环与随机数实战

引言

流程控制是编程语言的核心逻辑结构,决定了程序的执行顺序与逻辑判断能力。本文以 分支结构循环结构 和 随机数生成 为核心,结合代码示例与底层原理,全面解析Java中流程控制的应用场景与实战技巧。

一、分支结构

1. if分支

作用:根据条件表达式的结果(true/false)决定代码执行路径。

三种形式
  1. 单分支 

    if (条件) {// 条件为true时执行
    }
  2. 双分支

    if (条件) {// 条件为true时执行
    } else {// 条件为false时执行
    }
  3. 多分支

    if (条件1) {// 条件1为true时执行
    } else if (条件2) {// 条件2为true时执行
    } else {// 所有条件均不满足时执行
    }
    案例:成绩奖励机制
Scanner sc = new Scanner(System.in);
System.out.print("请输入成绩:");
int score = sc.nextInt();
if (score >= 95) {System.out.println("奖励山地自行车一辆");
} else if (score >= 90) {System.out.println("奖励游乐场玩一次");
} else if (score >= 80) {System.out.println("奖励变形金刚玩具一个");
} else {System.out.println("胖揍一顿");
}

2. switch分支

作用:根据表达式的值匹配具体分支执行,适合离散值比较。

语法
switch (表达式) {case 值1:// 匹配值1时执行break;case 值2:// 匹配值2时执行break;default:// 无匹配时执行
}
注意事项
  • 表达式类型:支持byteshortintcharString(JDK7+)和枚举。

  • 穿透性:若未写break,会继续执行后续case代码。

  • case值唯一性:不能重复且必须为字面量。

案例:工作日备忘录
String day = "周一";
switch (day) {case "周一":System.out.println("埋头苦干,解决bug");break;case "周三":System.out.println("今晚啤酒、龙虾、小烧烤");break;default:System.out.println("按部就班工作");
}

二、循环结构

1. for循环

作用:已知循环次数时,控制代码重复执行。

语法
for (初始化语句; 循环条件; 迭代语句) {// 循环体
}
案例:求1-100的偶数和
int sum = 0;
for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}
}
System.out.println("偶数和:" + sum);

2. while循环

作用:不确定循环次数时,根据条件重复执行代码。

语法
初始化语句;
while (循环条件) {// 循环体迭代语句;
}
案例:纸张折叠成珠峰高度
double peakHeight = 8848860;  // 珠峰高度(毫米)
double paperThickness = 0.1;  // 纸张厚度(毫米)
int count = 0;
while (paperThickness < peakHeight) {paperThickness *= 2;count++;
}
System.out.println("需折叠次数:" + count);

3. do-while循环

特点:先执行循环体,再判断条件,至少执行一次。

语法
初始化语句;
do {// 循环体迭代语句;
} while (循环条件);
案例:用户菜单选择
Scanner sc = new Scanner(System.in);
int choice;
do {System.out.println("1.登录 2.注册 3.退出");choice = sc.nextInt();
} while (choice != 3);

三、跳转关键字

1. break

作用:立即终止当前循环或switch分支。

案例:密码验证
Scanner sc = new Scanner(System.in);
int correctPwd = 520;
while (true) {System.out.print("请输入密码:");int input = sc.nextInt();if (input == correctPwd) {System.out.println("欢迎进入系统");break;} else {System.out.println("密码错误");}
}

2. continue

作用:跳过当前循环的剩余代码,进入下一次迭代。

案例:输出1-10的非偶数
for (int i = 1; i <= 10; i++) {if (i % 2 == 0) {continue;}System.out.println(i);
}

四、随机数生成(Random类)

1. 基本使用

步骤

  1. 导包:import java.util.Random;

  2. 创建对象:Random r = new Random();

  3. 生成随机数:int num = r.nextInt(范围);

案例:生成1-100随机数
Random r = new Random();
int number = r.nextInt(100) + 1;  // 1-100
System.out.println("随机数:" + number);

2. 猜数字游戏

Random r = new Random();
int target = r.nextInt(100) + 1;
Scanner sc = new Scanner(System.in);
while (true) {System.out.print("请输入猜测数字(1-100):");int guess = sc.nextInt();if (guess > target) {System.out.println("过大");} else if (guess < target) {System.out.println("过小");} else {System.out.println("猜中了!");break;}
}

五、总结

  • 分支结构if适合区间判断,switch适合离散值匹配。

  • 循环结构for用于已知次数,while用于未知次数,do-while至少执行一次。

  • 跳转关键字break终止循环,continue跳过当前迭代。

  • Random类:灵活生成指定范围的随机数,增强程序交互性。

学习建议

  • 多练习循环嵌套(如打印九九乘法表)。

  • 结合实际问题设计分支逻辑(如用户权限验证)。

  • 尝试实现复杂交互逻辑(如猜数字游戏的难度分级)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/72167.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis 数据持久化之RDB

Redis数据持久化策略 持久化策略之RDB RDB:在指定的时间间隔&#xff0c;执行数据集的时间点快照。 实现类似照片记录效果的方式&#xff0c;就是把某一时刻的数据和状态以文件的形式写到磁盘上&#xff0c;也就是读快照。这样一来即使故障宕机&#xff0c;快照文件也不会丢失&…

数据分析与AI丨AI Fabric:数据和人工智能架构的未来

AI Fabric 架构是模块化、可扩展且面向未来的&#xff0c;是现代商业环境中企业实现卓越的关键。 在当今商业环境中&#xff0c;数据分析和人工智能领域发展可谓日新月异。几乎每天都有新兴技术诞生&#xff0c;新的应用场景不断涌现&#xff0c;前沿探索持续拓展。可遗憾的是&…

MyBatis - XML 操作动态 SQL

目录 1. 前言 2. 动态插入 2.1 if 标签 2.2 trim 标签 2.2.1 注解完成动态 SQL 3. 动态查询 3.1 添加 1 1 3.2 where 标签 4. 动态更新 4.1 set 标签 5. foreach 标签 6. sql 标签 & include 标签 1. 前言 之前博文所讲的 MyBatis SQL 操作, 都必须按照注解或…

【最佳实践】Go 责任链模式实现参数校验

这里我们使用责任链模式来创建一个参数校验的示例。在这个示例中&#xff0c;我们将实现一个简单的责任链来校验不同的参数条件。这种模式允许我们将多个校验步骤串联在一起&#xff0c;以便可以在不同的条件下进行灵活的校验。 设计思路 接口定义 (Validator) 目的&#xff1…

深入理解Tomcat:Java Web服务器的安装与配置

大家好&#xff01;今天我们来聊聊Java Web开发中最重要的工具之一——Apache Tomcat。Tomcat是一个开源的Java Servlet容器和Web服务器&#xff0c;它是运行Java Web应用程序的核心环境。无论是开发、测试还是部署Java Web应用&#xff0c;Tomcat都是不可或缺的工具。本文将详…

小程序酒店:如何实现智能预订与在线支付?

在移动互联网快速发展的今天,酒店行业面临着前所未有的机遇与挑战。用户需求日益多样化,市场竞争愈发激烈,传统酒店预订方式已经难以满足现代消费者的需求。而小程序作为一种轻量化、便捷化的移动应用形式,正在成为酒店行业数字化转型的重要工具。通过小程序开发,酒店可以…

C#实现AES-CBC加密工具类(含完整源码及使用教程)

一、AES-CBC加密应用场景 AES&#xff08;Advanced Encryption Standard&#xff09;作为全球公认的安全加密标准&#xff0c;广泛使用在以下场景&#xff1a; API通信加密&#xff1a;保护HTTP接口传输的敏感数据&#xff08;如身份令牌、支付信息&#xff09;文件安全存储&…

docker-compose部署MongoDB分片集群

前言 MongoDB 使用 keyFile 进行 节点间身份验证,我们需要先创建一个 keyFile 并确保所有副本集的节点使用相同的 keyFile。 openssl rand -base64 756 > mongo-keyfile chmod 400 mongo-keyfiledocker-compose部署分片集群 无密码方式 # docker-compose-mongodb.yml s…

3-003:在 MySQL 中建索引时需要注意哪些事项?

在 MySQL 中创建索引时&#xff0c;需要注意以下事项&#xff0c;以确保索引高效且合理&#xff1a; 1. 选择合适的索引类型 主键索引&#xff08;PRIMARY KEY&#xff09;&#xff1a;每个表只能有一个&#xff0c;默认是聚簇索引。唯一索引&#xff08;UNIQUE&#xff09;&…

在 Linux 系统中,区分**磁盘(物理/虚拟存储设备)和分区(磁盘的逻辑划分)

在 Linux 系统中&#xff0c;区分**磁盘&#xff08;物理/虚拟存储设备&#xff09;和分区&#xff08;磁盘的逻辑划分&#xff09;**是管理存储的基础。以下是详细的区分方法和操作示例&#xff1a; 一、通过设备命名规则区分 Linux 中磁盘和分区的命名遵循特定规则&#xff…

MongoDB中的游标(Cursor)

游标&#xff08;Cursor&#xff09;在MongoDB中是一个重要的概念&#xff0c;它用于逐条遍历查询结果集&#xff0c;特别适用于处理大量数据时。 一、游标的定义与作用 定义&#xff1a; 游标是一种能从数据记录的结果集中每次提取一条记录的机制。在MongoDB中&#xff0c;游…

【从零开始学习计算机科学】编译原理(七)运行时刻环境

【从零开始学习计算机科学】编译原理(七)运行时刻环境 运行时刻环境存储组织空间的栈式分配活动树活动记录和控制栈简单栈式存贮分配C语言的过程调用和过程返回时的存贮管理堆式存储分配堆式存储分配的功能垃圾回收基于跟踪的垃圾回收短停顿垃圾回收运行时刻环境 存储组织 …

2025-03-08 学习记录--C/C++-PTA 习题10-1 判断满足条件的三位数

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、题目描述 ⭐️ 裁判测试程序样例&#xff1a; #include <stdio.h> #include <math.h>int search( int n );int…

【ArcGIS】地理坐标系

文章目录 一、坐标系理论体系深度解析1.1 地球形态的数学表达演进史1.1.1 地球曲率的认知变化1.1.2 参考椭球体参数对比表 1.2 地理坐标系的三维密码1.2.1 经纬度的本质1.2.2 大地基准面&#xff08;Datum&#xff09;的奥秘 1.3 投影坐标系&#xff1a;平面世界的诞生1.3.1 投…

DeepSeek刷力扣辅助题单 存留记录

最近感觉被什么东西阻挡了脚步,经大佬建议,做算法题提升一下思维 首先,我不认为算法题要死磕,因为我没有那个天赋,但是我还是要嘴硬一下 其次,我没有计算机基础的学习背景,因为我是修飞机专升本来的自动化专业,24年七月几乎零基础学习Unity 和 C#,努力学习到现在感觉已经尽力了…

化工厂防爆气象站:为石油化工、天然气等领域提供安全保障

【TH-FB02】在石油化工、天然气等高危行业中&#xff0c;安全生产是至关重要的。这些行业常常面临着易燃易爆、有毒有害等潜在风险&#xff0c;因此&#xff0c;对气象条件的监测和预警显得尤为重要。化工厂防爆气象站作为一种专门设计用于这些特殊环境的气象监测设备&#xff…

《MySQL数据库从零搭建到高效管理|库的基本操作》

目录 一、数据库的操作 1.1 展示数据库 1.2 创建数据库 1.3 使用数据库 1.4 查看当前数据库 1.5 删除数据库 1.6 小结 二、常用数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 一、数据库的操作 打开MySQL命令行客户端&#xff0c;安装完MySQL后会有两个客户端…

计算机考研C语言

C语言程序设计从入门到精通【2025完整版】考研复试 嵌入式 计算机二级 软考 专升本也适用_哔哩哔哩_bilibili 1、第一个C程序 helloC #include <stdio.h>int main(){printf("hehe");return 0;}每个C语言程序不管有多少行代码&#xff0c;都是从main函数开始执…

力扣hot100二刷——链表

第二次刷题不在idea写代码&#xff0c;而是直接在leetcode网站上写&#xff0c;“逼”自己掌握常用的函数。 标志掌握程度解释办法⭐Fully 完全掌握看到题目就有思路&#xff0c;编程也很流利⭐⭐Basically 基本掌握需要稍作思考&#xff0c;或者看到提示方法后能解答⭐⭐⭐Sl…

Word 小黑第2套

对应大猫42 Word1 从文件中导入新样式 样式组 -管理样式 -导入导出 -关闭Normal文件 -打开文件 -修改文件 -选中所需 -复制 调整字符宽度 调整字符间距 -字体组 加宽 适当修改磅值 文字效果通过文字组修改 另起一页&#xff0c;分隔符&#xff08;布局 -分隔符 -分节符 -下一…