0赞
赏
赞赏
更多好文
零基础友好|生活化比喻|避坑指南|附可运行代码
承接上篇《一键搞定Java环境配置》,今天带你亲手写出会“思考”和“重复”的程序!
🌱 为什么学变量和循环?—— 程序的“记忆”与“肌肉”
- 变量 = 程序的记忆力
→ 就像你用便签纸记下“咖啡加糖2勺”,程序用变量记住数据 - 循环 = 程序的肌肉记忆
→ 就像你刷10次牙(不用写10遍“挤牙膏→刷→漱口”),循环让代码高效重复
💡 记住这句话:
变量存数据,循环做重复——掌握它们,你的代码就“活”了!
📦 一、变量:给数据贴上名字标签
1️⃣ 什么是变量?(超生活化比喻)
| 现实场景 | Java世界 | 代码示例 |
|---|---|---|
| 保温杯贴“张三的水” | 变量名 userName | String userName = "张三"; |
| 体重秤显示65.5kg | 变量 weight | double weight = 65.5; |
| 开关状态:开/关 | 变量 isLightOn | boolean isLightOn = true; |
2️⃣ 声明变量三要素(必背公式!)
数据类型 变量名 = 初始值;
// ↓ ↓ ↓
int age = 18; // 整数
double price = 19.9; // 小数
char grade = 'A'; // 单个字符(注意单引号!)
String name = "小明"; // 字符串(注意双引号!首字母大写)
boolean isPass = true; // 布尔值(只有true/false)
3️⃣ 变量命名黄金法则
✅ 推荐:
int studentCount = 30; // 驼峰命名:首字母小写,后续单词首字母大写
final double PI = 3.14159; // 常量全大写(final修饰)
❌ 避雷:
int 1student = 10; // 错!不能以数字开头
int my-name = 5; // 错!不能用短横线
int class = 1; // 错!class是Java关键字
📌 关键字提示:
int,class,public等是Java保留字,不能当变量名(IDE会标红提醒)
4️⃣ 动手实验:变量小剧场
public class VariableDemo {
public static void main(String[] args) {
// 声明并初始化
String hero = "孙悟空";
int level = 99;
double hp = 1500.5;
boolean hasWeapon = true;
// 修改变量值(程序会“记住”新值!)
level = level + 1; // 升级!
hp = hp - 200; // 受伤!
// 输出结果(+号连接字符串和变量)
System.out.println(hero + "当前等级:" + level);
System.out.println("剩余血量:" + hp + ",武器状态:" + (hasWeapon ? "装备中" : "未装备"));
}
}
✅ 运行效果:
孙悟空当前等级:100
剩余血量:1300.5,武器状态:装备中
💡 关键理解:
- 变量值可以改变(“变”量!)
+在字符串中是“拼接”,不是数学加法? :是三元运算符(后续详解),这里让输出更友好
🔁 二、循环:让代码自动重复100次!
1️⃣ 为什么需要循环?(对比震撼!)
// ❌ 没有循环:重复10次打印(程序员崩溃现场)
System.out.println("第1遍:好好学习");
System.out.println("第2遍:好好学习");
// ...(省略8行)
System.out.println("第10遍:好好学习");
// ✅ 有循环:3行搞定!
for (int i = 1; i <= 10; i++) {
System.out.println("第" + i + "遍:好好学习");
}
2️⃣ 三大循环对比表(新手直接抄作业!)
| 循环类型 | 适用场景 | 语法骨架 | 记忆口诀 |
|---|---|---|---|
| for | 次数明确(如1~100) | for(初; 条; 增){} | “初条增,三件套” |
| while | 条件满足时重复 | while(条件){} | “先判断,再执行” |
| do-while | 至少执行1次 | do{}while(条件); | “先执行,再判断” |
3️⃣ 实战代码库(复制即运行!)
🌰 场景1:打印乘法表(for循环嵌套)
public class MultiplicationTable {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) { // 外层:行
for (int j = 1; j <= i; j++) { // 内层:列
System.out.print(j + "×" + i + "=" + (i*j) + "\t");
}
System.out.println(); // 换行
}
}
}
✅ 输出效果:
1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9
...(完整九九表)
🌰 场景2:猜数字游戏(while循环)
import java.util.Scanner;
public class GuessNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int secret = 42; // 神秘数字
int guess;
System.out.println("🎮 猜数字游戏(1-100):");
while (true) { // 无限循环,靠break跳出
System.out.print("请输入你的猜测:");
guess = sc.nextInt();
if (guess == secret) {
System.out.println("🎉 恭喜!猜中了!");
break; // 跳出循环
} else if (guess > secret) {
System.out.println("⬇️ 太大了!");
} else {
System.out.println("⬆️ 太小了!");
}
}
sc.close();
}
}
🌰 场景3:计算1+2+...+100(循环累加)
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum = sum + i; // 累加:每次把i加到sum上
}
System.out.println("1到100的和是:" + sum); // 输出:5050
4️⃣ 循环控制双子星:break vs continue
// break:遇到7直接结束循环
for (int i = 1; i <= 10; i++) {
if (i == 7) break;
System.out.print(i + " "); // 输出:1 2 3 4 5 6
}
// continue:跳过7,继续下一轮
for (int i = 1; i <= 10; i++) {
if (i == 7) continue;
System.out.print(i + " "); // 输出:1 2 3 4 5 6 8 9 10
}
🆘 三、新手高频避坑指南(血泪总结!)
| 问题现象 | 原因 | 修复方案 |
|---|---|---|
可能尚未初始化变量 | 声明了变量但没赋值就使用 | 声明时立即初始化:int count = 0; |
| 死循环(程序卡住) | 循环条件永远为true | 检查更新语句:i++ 是否遗漏? |
String 首字母小写 | 拼写错误(应为大写S) | 记住:String是类,首字母大写! |
| 字符用双引号 | 'A' 是char,"A" 是String | 单字符用单引号,文本用双引号 |
| for循环后多加分号 | for(...); { ... } 导致空循环 | 删除分号:for(...) { ... } |
💡 调试技巧:在循环中加
System.out.println("i=" + i);观察变量变化!
🌟 四、综合挑战:打印圣诞树(变量+循环实战)
public class ChristmasTree {
public static void main(String[] args) {
int height = 5; // 树的高度(修改这里改变大小!)
// 打印树冠
for (int i = 1; i <= height; i++) {
// 打印空格(让树居中)
for (int j = 1; j <= height - i; j++) {
System.out.print(" ");
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println();
}
// 打印树干
for (int i = 1; i <= 2; i++) {
for (int j = 1; j <= height - 1; j++) {
System.out.print(" ");
}
System.out.println("||");
}
System.out.println("🎄 圣诞快乐!变量与循环已掌握!");
}
}
✅ 运行效果:
*
***
*****
*******
*********
||
||
🎄 圣诞快乐!变量与循环已掌握!
✨ 动手改:
- 修改
height = 7看树变高- 把
*改成★(注意编码)- 给树干加颜色(后续学ANSI转义码)
📚 五、学习路线图(下一步学什么?)
graph LR
A[变量与循环] --> B{下一步}
B --> C[条件判断 if/else]
B --> D[数组与集合]
B --> E[方法(函数)]
C --> F[小游戏:石头剪刀布]
D --> G[数据管理:学生成绩系统]
E --> H[代码复用:封装逻辑]
💫 结语:你已解锁编程核心能力!
今天你做到了:
🔹 用变量让程序“记住”数据
🔹 用循环让代码“自动重复”
🔹 亲手写出会互动的小程序这不再是“Hello World”的静态输出——你的代码开始拥有逻辑与生命力!
🌱 行动建议:
1️⃣ 修改圣诞树代码,打印自己的名字
2️⃣ 尝试用循环计算1~1000中所有偶数的和
3️⃣ 在评论区晒出你的运行截图 + 一句心得下期预告:《Java条件判断:if/else让程序学会“选择”》
—— 教你写出能根据用户输入做决策的智能程序!
本文所有代码经JDK 21实测 | 遇到问题?截图+描述留言必回 | 原创不易,转载需授权
✨ 代码有温度,学习不孤单 —— 你的Java成长伙伴 🌱
