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

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.lryc.cn/news/571017.html

相关文章:

  • qq素材代码_自学三个月的我,利用Python爬虫获取精美素材图片,看看我是怎么做到的(实战篇)...
  • vmware 12 可用 序列号
  • nexus是什么意思android,六年七代八款同使命 看谷歌Nexus成长史
  • 戴尔r63服务器硬盘阵列,dell r720服务器有四块硬盘 raid命令只显示了两块? - 服务器论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  • 牛腩新闻发布系统——技术总结
  • 使用 XSLT 格式化 XML
  • 著名OJ网址
  • 从零开始构建一个高性能的Web服务器
  • Win32之菜单和库
  • Windows编程 DirectSound DirectMusic 音效和音乐
  • 基础RAG实现,最佳入门选择(一)
  • 学计算机高中应选什么科目,新高考选哪些科目可以报计算机?高中生如何进步?...
  • 搭建游戏用什么类型的服务器更好
  • 分享一键群发各大博客社区平台的工具
  • 存储器的分类(RAM,ROM等)及其性能指标
  • HTC Incredible S G11如何刷recovery,如何获得root权限,如何删除预装的系统应用
  • 李开复给中国学生的第四封信
  • 深圳学区房地图
  • DAY 54 Inception网络及其思考
  • 人物点评: 马云的野心(zz)
  • 狱搜导航-个性化导航自定义导航网站,搜索导航,简洁清晰大气,支持各种自定义
  • 中国第二大传感器企业宝座易主!14家公司新上市!国产传感器风起云涌!(附最新市值排名榜单)
  • Codeigniter 4基础教程(1)-- Wamp+CodeIgniter 4以及helloworld
  • 计算机主机漏电,电脑主机箱漏电六大原因和解决方法
  • Windows安装与配置Git cz (commitizen)
  • 包含15个APP客户端UI界面的psd适用于餐厅咖啡店面包店快餐店
  • d3dx9_42.dll丢失的解决方法-d3dx9_42.dll缺失下载方法
  • InstallShield 2010打包安装程序,安装完成后执行某个程序
  • 送两本《ECharts数据可视化:入门、实战与进阶》
  • 蓝屏错误代码0x0000007E的解决方法及编程示例