一、今日核心知识点
编程不仅仅是按顺序执行代码,更重要的是让程序能够"做判断"和"重复做事"。今天我们将学习 if、switch 以及循环结构。
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 为否则执行elseif (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.== 与 = 的区别:
=是赋值。
==是比较两个值是否相等。在
if或while的条件中,永远使用==进行比较。