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

2、Java流程控制:编程界的“逻辑游乐场”

在Java的编程世界里,流程控制就像游乐场里的“逻辑导游”,带着代码玩起“决策游戏”和“循环挑战”。学会这些技巧,你的程序就能像过山车一样灵活转弯,像旋转木马一样循环玩!

文章目录

    • 一、程序的“决策小剧场”:条件判断
      • 1. if-else:会“看脸色”的代码裁判
      • 2. switch:多选一的“魔法转盘”
    • 二、循环结构:代码的“无限复读机”
      • 1. for循环:有“倒计时”的循环王者
      • 2. while循环:“不到黄河心不死”的坚持者
      • 3. do-while:“先干了再说”的急性子
    • 三、实战:用代码玩出“生活场景”
      • 案例一:猜数字大挑战(像猜灯谜一样过瘾)
      • 案例二:打印“生日蛋糕”金字塔
    • 四、总结:流程控制像“编程魔法棒”

一、程序的“决策小剧场”:条件判断

1. if-else:会“看脸色”的代码裁判

  • 语法像剧本if (条件成立) {演开心剧情} else {演伤心剧情}
  • 接地气例子:点奶茶时判断甜度
int sugarLevel = 5; // 定义甜度等级(范围1-10)
if (sugarLevel > 7) {System.out.println("老板:这杯太甜啦!😖"); // 甜度超过7时的提示
} else {System.out.println("老板:甜度刚刚好~😋"); // 甜度适中时的提示
}
  • 嵌套剧情:判断天气穿衣服
boolean isRainy = true; // 标记是否下雨
int temperature = 15; // 定义当前温度
if (isRainy) {System.out.println("带伞!"); // 下雨时的必备物品if (temperature < 20) {System.out.println("再加件外套~"); // 温度低于20℃时的额外建议}
} else {System.out.println("阳光好,穿T恤!"); // 不下雨时的穿衣建议
}

2. switch:多选一的“魔法转盘”

  • 适用场景:像转盘抽奖一样匹配固定值
  • 注意事项:转盘只能转整数或字符,每个选项(case)要独一无二,用完记得喊“停”(break)
  • 趣味案例:周末活动选择
int weekendPlan = 3; // 定义周末计划编码(1-4代表不同活动)
switch (weekendPlan) {case 1:System.out.println("去公园野餐!🏕️"); // 选择1时的活动安排break; // 跳出switch结构,避免继续执行下一个casecase 2:System.out.println("在家看电影!🎬"); // 选择2时的活动安排break; // 跳出switch结构case 3:System.out.println("约朋友打球!🏀"); // 选择3时的活动安排break; // 跳出switch结构case 4:System.out.println("商场逛街去!🛍️"); // 选择4时的活动安排break; // 跳出switch结构default:System.out.println("躺平睡觉~💤"); // 所有case都不匹配时的默认安排break; // 跳出switch结构
}

二、循环结构:代码的“无限复读机”

1. for循环:有“倒计时”的循环王者

  • 语法公式for (定起点; 看条件; 改进度) {重复做}
  • 生活类比:吃包子(已知要吃5个)
for (int i = 1; i <= 5; i++) { // i从1开始,到5结束,每次循环后i+1System.out.println("吃掉第" + i + "个包子,还剩" + (5 - i) + "个~");// 输出当前吃掉的包子序号和剩余数量
}
// 输出:吃掉第1个...直到第5个,吃完啦!

2. while循环:“不到黄河心不死”的坚持者

  • 执行逻辑:先问“能做吗?”能就做,做完再问
  • 趣味场景:攒钱买手机
int savedMoney = 0; // 初始化已攒钱数为0
int phonePrice = 5000; // 定义手机价格
while (savedMoney < phonePrice) { // 当已攒钱数小于手机价格时,继续循环savedMoney += 500; // 每月攒500元System.out.println("已攒" + savedMoney + "元,还差" + (phonePrice - savedMoney) + "元!");// 输出当前攒钱进度和剩余金额
}
System.out.println("终于攒够钱啦!买手机去~📱"); // 攒够钱后的提示

3. do-while:“先干了再说”的急性子

  • 特点:不管条件如何,先做一次再说
  • 生活例子:玩游戏必须先注册
String username; // 定义用户名变量
do {System.out.println("请输入用户名注册:"); // 提示用户输入用户名username = "玩家" + (int)(Math.random()*100); // 模拟生成用户名(简化处理)System.out.println("注册的用户名是:" + username); // 显示注册的用户名
} while (username.length() < 5); // 当用户名长度小于5时,重新注册
System.out.println("注册成功,开始游戏!🎮"); // 注册成功后的提示

三、实战:用代码玩出“生活场景”

案例一:猜数字大挑战(像猜灯谜一样过瘾)

计算机偷偷想一个1-100的数,你负责猜,它负责提示“大了”“小了”,看你多久能猜中!

import java.util.Scanner; // 导入Scanner类用于接收用户输入
public class GuessGame {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 创建Scanner对象int secretNum = (int)(Math.random()*100)+1; // 生成1-100的随机数int guessCount = 0; // 初始化猜测次数为0System.out.println("来玩猜数字!我想了个1-100的数~"); // 游戏开始提示do {System.out.print("猜一个数:"); // 提示用户输入猜测的数字int guess = scanner.nextInt(); // 接收用户输入的猜测值guessCount++; // 猜测次数加1if (guess > secretNum) {System.out.println("大了大了!📈"); // 猜测值大于随机数时的提示} else if (guess < secretNum) {System.out.println("小了小了!📉"); // 猜测值小于随机数时的提示} else {System.out.println("恭喜!用了" + guessCount + "次猜中啦~🎉"); // 猜中时的提示}} while (guess != secretNum); // 未猜中时继续循环scanner.close(); // 关闭Scanner对象,释放资源}
}

案例二:打印“生日蛋糕”金字塔

输入层数,让代码为你画一个星星堆成的蛋糕!

import java.util.Scanner; // 导入Scanner类用于接收用户输入
public class CakePyramid {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); // 创建Scanner对象System.out.print("输入蛋糕层数(1-10):"); // 提示用户输入层数int layers = scanner.nextInt(); // 接收用户输入的层数for (int i = 1; i <= layers; i++) { // 外层循环控制蛋糕层数// 先画左边空格(像蛋糕的底座留白)for (int j = 1; j <= layers - i; j++) {System.out.print(" "); // 打印空格,形成金字塔左侧空白}// 再画星星(每层星星数=2*i-1)for (int k = 1; k <= 2*i-1; k++) {System.out.print("*"); // 打印星星,形成金字塔的每一层}System.out.println(); // 每层画完后换行}System.out.println("✨生日蛋糕完成!祝你生日快乐~✨"); // 蛋糕绘制完成后的祝福scanner.close(); // 关闭Scanner对象,释放资源}
}

四、总结:流程控制像“编程魔法棒”

  • 条件判断:让程序学会“看情况办事”,像奶茶店根据订单调整甜度;
  • 循环结构:让代码重复做一件事,像攒钱买手机一样坚持到目标达成;
  • 核心技巧:多结合生活场景理解,比如把for循环当成“吃固定数量的包子”,while循环当成“没攒够钱就继续攒”。

学会这些,你的Java程序就能像游乐场一样,既有决策的惊喜,又有循环的乐趣!🎢

http://www.xdnf.cn/news/14504.html

相关文章:

  • Leetcode 刷题记录 12 —— 二叉树第三弹
  • 六月十五号Leetcode
  • Apache Iceberg与Hive集成:非分区表篇
  • 【Redis】分布式锁
  • 我的项目管理之路-PMO
  • OpenSpeedy:让游戏体验“飞”起来的秘密武器
  • 基于CNN深度学习的小程序识别-视频介绍下自取
  • Android 修改了页面的xml布局,使用了databinding,这时候编译时需要用到apt吗
  • Node.js 中两种模块导出方式区别
  • Vue 组合式 API 与 选项式 API 全面对比教程
  • 期权入门介绍
  • PCB设计教程【大师篇】stm32开发板PCB布线(信号部分)
  • 附录:对于头结点单向链表的优化方法
  • AlibabaCloud+SpringCloud简述
  • 人工智能学习25-BP代价函数
  • RHCE 练习四:编写脚本实现以下功能
  • 10N65-ASEMI电机驱动方面专用10N65
  • 34.树形 DP
  • 【C语言】计算机组成、计算机语言介绍
  • 【Steel Code】8.6~8.7:TENSION MEMBERS, COMPRESSION MEMBERS
  • CountDownLatch入门代码解析
  • DeepSeek介绍
  • 嵌入式学习
  • Linux命令
  • JUC核心解析系列(一)——原子类深度解析
  • python第52天打卡
  • 模型 追蛇效应
  • 理解 C++ 中的特征技术(traits)
  • 基于vue框架的儿童食品营养推荐系统的设计与实现8t2b9(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • C++ QT开发学习指南-从入门到实战项目