Java控制语句详解:像过日子一样写代码

在这里插入图片描述

如果你刚开始学Java,可能会觉得“控制语句”这四个字有点抽象。但其实,控制语句就像我们每天过日子的“规则”——什么时候按部就班(顺序),什么时候做选择(分支),什么时候重复做一件事(循环)。今天就用生活中的例子,带你把Java的控制语句讲透。

一、顺序结构:按部就班的日常

什么是顺序结构?
就像早上起床的流程:先睁眼→再穿衣服→然后洗漱→最后吃早饭,一步接一步,不会乱。Java代码默认就是顺序执行的,从上到下,依次执行每一行。

生活案例:做一杯手冲咖啡的步骤

  1. 烧开水
  2. 磨咖啡豆
  3. 放滤纸、加咖啡粉
  4. 倒水冲泡

代码示例:用代码模拟冲咖啡的流程

public class CoffeeMaker {
    public static void main(String[] args) {
        System.out.println("1. 烧开水(等待3分钟)");
        System.out.println("2. 把咖啡豆磨成粉(100g豆子)");
        System.out.println("3. 滤纸放进滤杯,倒入咖啡粉");
        System.out.println("4. 水温降到95℃后,分3次倒水冲泡");
        System.out.println("完成!一杯手冲咖啡做好了~");
    }
}

运行结果
代码会严格按照1→2→3→4的顺序打印,就像我们实际操作的步骤一样。

二、分支结构:面临选择时的决策

生活中处处是选择:出门要不要带伞?考试分数够不够评优?Java的分支结构就是帮程序做这类“选择题”的。

1. if语句:简单的“是/否”判断

语法

if (条件) {
    // 条件成立时执行的代码
} else {
    // 条件不成立时执行的代码(可选)
}

生活案例:出门前看天气决定是否带伞

  • 如果下雨(条件成立),带伞
  • 否则(条件不成立),不带伞

代码示例:判断是否需要带伞

public class UmbrellaDecision {
    public static void main(String[] args) {
        boolean isRaining = true; // 假设正在下雨
        
        if (isRaining) {
            System.out.println("外面在下雨,记得带伞!");
        } else {
            System.out.println("天气晴朗,不用带伞~");
        }
    }
}

运行结果
isRainingtrue时,打印“外面在下雨,记得带伞!”;改为false时,打印“天气晴朗,不用带伞~”。

2. if-else if-else:多条件选择

当需要判断多个条件时(比如成绩评级),就需要用if-else if-else,就像“如果…否则如果…否则…”。

生活案例:根据考试分数评级

  • 90分及以上:优秀
  • 80-89分:良好
  • 60-79分:及格
  • 60分以下:不及格

代码示例:成绩评级

public class GradeEvaluator {
    public static void main(String[] args) {
        int score = 85; // 考试分数
        
        if (score >= 90) {
            System.out.println("评级:优秀");
        } else if (score >= 80) { // 能走到这里,说明分数<90
            System.out.println("评级:良好");
        } else if (score >= 60) { // 能走到这里,说明分数<80
            System.out.println("评级:及格");
        } else { // 剩下的都是<60的情况
            System.out.println("评级:不及格");
        }
    }
}

运行结果
因为score=85,满足80<=85<90,所以打印“评级:良好”。

3. switch语句:固定值的匹配

当判断条件是“某个变量等于A/B/C等固定值”时,用switchif-else更清晰,就像“如果是A就做X,如果是B就做Y…”。

语法

switch (变量) {
    case1:
        // 变量等于值1时执行
        break; // 执行完后跳出switch,避免继续执行其他case
    case2:
        // 变量等于值2时执行
        break;
    default:
        // 所有值都不匹配时执行(可选)
}

生活案例:根据星期几安排活动

  • 周一:上班
  • 周二:开会
  • 周三:健身
  • 其他天:灵活安排

代码示例:星期几的活动安排

public class WeekPlan {
    public static void main(String[] args) {
        int day = 3; // 1=周一,2=周二,...,7=周日
        
        switch (day) {
            case 1:
                System.out.println("周一:上班,处理邮件");
                break;
            case 2:
                System.out.println("周二:部门周会,写周报");
                break;
            case 3:
                System.out.println("周三:晚上去健身,练核心");
                break;
            default:
                System.out.println("其他天:灵活安排,记得陪家人~");
        }
    }
}

运行结果
day=3,所以打印“周三:晚上去健身,练核心”。
(注意:break不能少,否则会继续执行下一个case的代码哦!)

三、循环结构:重复做一件事

生活中很多重复的事:每天跑步3圈、减肥期间每天称重直到达标… Java的循环结构就是帮程序“重复做事”的。

1. for循环:已知次数的重复

当知道要重复多少次时,用for循环最方便,就像“明确要跑3圈,每圈跑完休息1分钟”。

语法

for (初始化; 循环条件; 每次循环后更新) {
    // 重复执行的代码
}

生活案例:每天跑步3圈,记录每圈的用时

  • 初始化:从第1圈开始
  • 循环条件:圈数≤3
  • 每次循环后:圈数+1

代码示例:记录跑步3圈的用时

public class Running {
    public static void main(String[] args) {
        // 跑3圈,每圈用时(秒)存在数组里
        int[] times = {65, 70, 68};
        
        for (int i = 0; i < 3; i++) { // i从0开始,<3时循环,每次+1
            int lap = i + 1; // 圈数(1-3)
            System.out.println("第" + lap + "圈用时:" + times[i] + "秒");
        }
        
        System.out.println("3圈跑完,休息一下!");
    }
}

运行结果

第1圈用时:65秒
第2圈用时:70秒
第3圈用时:68秒
3圈跑完,休息一下!

2. while循环:条件满足就重复

当不知道要重复多少次,但知道“什么时候停止”时,用while循环,就像“减肥时每天称重,直到体重≤60kg就停止”。

语法

while (循环条件) {
    // 条件满足时执行的代码
}

生活案例:减肥计划

  • 初始体重65kg
  • 每天减0.5kg
  • 直到体重≤60kg停止

代码示例:模拟减肥过程

public class WeightLoss {
    public static void main(String[] args) {
        double weight = 65.0; // 初始体重(kg)
        int day = 1; // 第几天
        
        while (weight > 60) { // 体重>60kg就继续减
            weight -= 0.5; // 每天减0.5kg
            System.out.println("第" + day + "天,体重:" + weight + "kg");
            day++;
        }
        
        System.out.println("恭喜!体重达标(≤60kg)啦!");
    }
}

运行结果

第1天,体重:64.5kg
第2天,体重:64.0kg
...
第10天,体重:60.0kg
恭喜!体重达标(≤60kg)啦!

3. do-while循环:至少做一次的重复

do-whilewhile的区别是:它会先执行一次循环体,再判断条件。就像“每天必须喝一杯水,喝完再看今天是否完成喝水任务”(至少喝一次)。

语法

do {
    // 至少执行一次的代码
} while (循环条件); // 注意这里有分号

生活案例:每天喝水任务

  • 必须先喝一杯水
  • 喝完后检查:如果今天喝的杯数<8,继续喝

代码示例:记录每天喝水杯数

public class WaterDrinking {
    public static void main(String[] args) {
        int cups = 0; // 今天喝了几杯水
        
        do {
            cups++; // 喝一杯
            System.out.println("喝了第" + cups + "杯水");
        } while (cups < 8); // 没喝够8杯就继续
        
        System.out.println("今天喝够8杯水啦,健康!");
    }
}

运行结果
会依次打印“喝了第1杯水”到“喝了第8杯水”,最后提示喝够了。即使初始cups已经≥8,也会先执行一次“喝一杯”。

总结:控制语句让程序“活”起来

顺序结构是基础,让代码按步骤执行;
分支结构(if/switch)让程序能做选择,应对不同场景;
循环结构(for/while/do-while)让程序能重复做事,避免冗余代码。

就像过日子,有固定流程(顺序),有选择(分支),有重复的坚持(循环)。掌握这些,你写的Java代码会更灵活、更贴近实际需求~

试试把上面的代码跑一遍,再改改条件(比如把跑步圈数改成5圈,减肥目标改成55kg),看看结果有什么变化吧!

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐