3.Java流程控制语句

一、今日核心知识点

编程不仅仅是按顺序执行代码,更重要的是让程序能够"做判断"和"重复做事"。今天我们将学习 ifswitch 以及循环结构。

1.判断语句

  • ‌**if-else 语句**‌:

    • 用于处理两种或多种情况。

    • 例如:如果年龄大于18岁,输出"成年",否则输出"未成年"。

  • ‌**switch-case 语句**‌:

    • 用于处理多个固定值的匹配(如星期几、月份、成绩等级)。

    • 注意 :Java 7 之后 switch 支持字符串 String 类型。记得在每个 case 后面加上 break,防止"穿透"执行下一个 case。

2.循环语句

  • ‌**for 循环**‌:

    • 最常用,适合已知循环次数的场景。

    • 结构:for (初始化; 布尔表达式; 更新) { 循环体 }

  • ‌**while 循环**‌:

    • 适合未知循环次数,只要条件为 true 就一直执行。
  • ‌**do-while 循环**‌:

    • 先执行一次循环体,再判断条件。保证循环体至少执行一次。

3.跳转语句

  • ‌**break**‌:跳出当前循环或 switch 语句。

  • ‌**continue**‌:跳过本次循环的剩余部分,直接进入下一次循环。

二、今日实操练习( IDEA 中完成)

请创建一个名为 Day03_ControlFlow 的类,并尝试编写以下代码:

  • 新建 Java 类

  • ‌右键点击‌ src 文件夹(或者你希望存放代码的具体包名/文件夹)。

  • 在弹出的菜单中选择 ‌New‌ -> ‌Java Class‌。

  • 在弹出的对话框中输入类名:‌Day03_ControlFlow‌。

  • 按 ‌Enter‌ 键确认。

1.:判断成绩等级(if-else + switch)

java 复制代码
public class Day03_ControlFlow {
    public static void main(String[] args) {
        int score = 85;

        // 1. 使用 if-else 判断及格与否
        if (score >= 60) {
            System.out.println("恭喜,你及格了!");
        } else {
            System.out.println("很遗憾,你需要补考。");
        }

        // 2. 使用 switch 判断等级
        // 先将分数转换为等级字符
        char grade;
        if (score >= 90) grade = 'A';
        else if (score >= 80) grade = 'B';
        else if (score >= 70) grade = 'C';
        else if (score >= 60) grade = 'D';
        else grade = 'E';

        switch (grade) {
            case 'A':
                System.out.println("等级:优秀");
                break;
            case 'B':
                System.out.println("等级:良好");
                break;
            case 'C':
                System.out.println("等级:中等");
                break;
            default:
                System.out.println("等级:需努力");
                break;
        }
    }
}
(1)基础变量定义

int score = 85;

//定义了一个整型变量 score 并赋值为 ‌85‌。这是后续所有判断逻辑的"输入数据"。

(2)if-else 判断

//检查 score 是否大于或等于 60 为真则执行if 为否则执行else

if (score >= 60) {

System.out.println("恭喜,你及格了!");

} else {

System.out.println("很遗憾,你需要补考。");

}

适用场景‌:适用于只有"是"或"否"两种结果的简单判断。

(3)多种声明变量
chart
  • 使用 chart 声明单字节 则需要单引号

char grade;

if (score >= 90) grade = 'A';

else if (score >= 80) grade = 'B';

...

else grade = 'E';

  • 使用时也需要单引号 case 'A' :

switch (grade) {

case 'A':

System.out.println("等级:优秀");

break;

case 'B':

System.out.println("等级:良好");

break;

default:

System.out.println("等级:需努力");

break;

}

String
  • 使用 String 声明为字符串 则需要双引号

String grade; // 声明为字符串

// 赋值时要用双引号

if (score >= 90) grade = "A";

else if (score >= 80) grade = "B";

// ...

// switch 也支持 String(Java 7+)

switch (grade) {

case "A": System.out.println("优秀"); break;

// ...

}

int

使用 int声明为数字 则需要数值

int grade;

if (score >= 90) grade = 1;

// ...

switch (grade) {

case 1: System.out.println("优秀"); break;

// ...

}

2:打印九九乘法表(for 循环嵌套)

java 复制代码
    public static void main(String[] args) {
        // 外层循环控制行数 (1到9)
        for (int i = 1; i <= 9; i++) {
            // 内层循环控制每行的列数 (1到i)
            for (int j = 1; j <= i; j++) {
                // \t 是制表符,用于对齐
                System.out.print(j + "*" + i + "=" + (i * j) + "\t");
            }
            // 每打印完一行后换行
            System.out.println();
        }
    }

3:猜数字小游戏(while 循环 + break)

java 复制代码
    public static void main(String[] args) {
        int target = 5; // 假设目标数字是5
        int guess = 0;  // 用户猜的数字
        
        // 模拟用户输入(这里用固定值演示逻辑,后续会学 Scanner 接收键盘输入)
        // 实际练习时,你可以手动修改 guess 的值来测试不同分支
        guess = 3; 
        
        while (guess != target) {
            if (guess < target) {
                System.out.println("猜小了!");
            } else {
                System.out.println("猜大了!");
            }
            // 为了演示,这里手动改变 guess,实际项目中会用 Scanner
            guess++; 
            if (guess > 10) break; // 防止死循环
        }
        
        if (guess == target) {
            System.out.println("恭喜你,猜对了!");
        }
    }

三、避坑指南

‌1.死循环‌:

在使用 while 循环时,一定要确保循环条件在某个时刻会变成 false,或者在循环体内有 break 语句,否则程序会一直运行停不下来。

‌2.大括号匹配‌:

嵌套循环或 if-else 时,大括号 {} 容易漏写或错位。建议在 IDEA 中使用快捷键 Ctrl + Alt + L 自动格式化代码,检查缩进是否整齐。

3‌.=== 的区别‌:

= 是赋值。

== 是比较两个值是否相等。

ifwhile 的条件中,永远使用 == 进行比较。

相关推荐
影寂ldy1 小时前
C# WinForm 三种自定义控件 + 完全自定义重绘控件知识点
开发语言·c#
学逆向的1 小时前
汇编——寻址方式
开发语言·汇编·网络安全
大模型码小白1 小时前
企业级检索增强后端集成:Java 服务如何管理知识库版本
java·服务器·开发语言·人工智能·python·microsoft
-银雾鸢尾-1 小时前
C#中的Dictionary相关方法
开发语言·c#
农村小镇哥2 小时前
Python3开发快速获取图片的文字
开发语言·python
geovindu2 小时前
go:Backtracking Algorithm
开发语言·后端·算法·golang·回溯算法
AI多Agent协作实战派2 小时前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
用户3126874877202 小时前
@Transactional 注了等于没用?Spring 事务失效的 7 种场景,你踩过几个
java
千桐科技2 小时前
DataX 执行引擎正式加入:qData 开源版 v1.6.0 新增 Quartz + DataX 轻量运行模式!
java·大数据·开源·数据治理·数据中台·qdata