Java语法入门:变量与循环不再懵

avatar
随风IP属地:上海
02026-02-09:21:43:42字数 5666阅读 0

零基础友好|生活化比喻|避坑指南|附可运行代码
承接上篇《一键搞定Java环境配置》,今天带你亲手写出会“思考”和“重复”的程序!


🌱 为什么学变量和循环?—— 程序的“记忆”与“肌肉”

  • 变量 = 程序的记忆力
    → 就像你用便签纸记下“咖啡加糖2勺”,程序用变量记住数据
  • 循环 = 程序的肌肉记忆
    → 就像你刷10次牙(不用写10遍“挤牙膏→刷→漱口”),循环让代码高效重复

💡 记住这句话
变量存数据,循环做重复——掌握它们,你的代码就“活”了!


📦 一、变量:给数据贴上名字标签

1️⃣ 什么是变量?(超生活化比喻)

现实场景Java世界代码示例
保温杯贴“张三的水”变量名 userNameString userName = "张三";
体重秤显示65.5kg变量 weightdouble weight = 65.5;
开关状态:开/关变量 isLightOnboolean 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("🎄 圣诞快乐!变量与循环已掌握!");
    }
}

运行效果

    *
   ***
  *****
 *******
*********
    ||
    ||
🎄 圣诞快乐!变量与循环已掌握!

动手改

  1. 修改 height = 7 看树变高
  2. * 改成 (注意编码)
  3. 给树干加颜色(后续学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成长伙伴 🌱

总资产 0
暂无其他文章

热门文章

暂无热门文章