Java 条件和循环语句
条件语句和循环语句是编程中用于控制程序执行流程的核心结构。条件语句允许程序根据特定条件执行不同的代码路径,而循环语句则允许程序重复执行一段代码,直到满足某个终止条件。
条件语句 (Conditional Statements)
1. if 语句
if 语句是最基本的条件控制结构。如果括号内的条件表达式为 true,则执行其后的代码块。
java
int score = 95;
if (score >= 60) {
System.out.println("成绩及格!");
}2. if-else 语句
if-else 语句在 if 条件为 true 时执行一个代码块,在条件为 false 时执行另一个代码块。
java
int temperature = 15;
if (temperature > 25) {
System.out.println("天气炎热,穿短袖。");
} else {
System.out.println("天气凉爽,穿外套。");
}3. if-else if-else 语句
当有多个条件需要判断时,可以使用此结构。它会按顺序检查每个条件,一旦找到为 true 的条件,就执行对应的代码块,然后跳出整个结构。
java
int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好"); // 这段代码会被执行
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}4. switch 语句
switch 语句适用于对一个变量的多个可能值进行判断。从 Java 14 开始,switch 引入了更简洁的“箭头”语法和表达式形式。
传统 switch (需要 break)
java
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "星期一";
break;
case 2:
dayName = "星期二";
break;
case 3:
dayName = "星期三";
break;
default:
dayName = "未知";
break;
}
System.out.println(dayName); // 输出: 星期三现代 switch 表达式 (JDK 14+)
这种新语法更简洁,无需 break,并且可以作为表达式返回值。
java
int day = 3;
String dayName = switch (day) {
case 1 -> "星期一";
case 2 -> "星期二";
case 3 -> "星期三";
default -> "未知";
};
System.out.println(dayName); // 输出: 星期三循环语句 (Loop Statements)
1. for 循环
for 循环非常适合在已知循环次数的情况下使用。它由三部分组成:初始化、循环条件和迭代语句。
java
// 打印从 0 到 4 的数字
for (int i = 0; i < 5; i++) {
System.out.println("当前数字是: " + i);
}2. 增强 for 循环 (For-Each Loop)
增强 for 循环用于遍历数组或集合中的所有元素,语法更简洁,不易出错。
java
int[] numbers = {10, 20, 30, 40, 50};
for (int number : numbers) {
System.out.println(number);
}3. while 循环
while 循环在循环开始前检查条件。只要条件为 true,循环就会一直执行。它适用于不确定循环次数的场景。
java
int count = 0;
while (count < 5) {
System.out.println("Count is: " + count);
count++;
}4. do-while 循环
do-while 循环与 while 循环类似,但它会至少执行一次循环体,因为条件检查是在循环体执行之后进行的。
java
int i = 10;
do {
System.out.println("i 的值是: " + i); // 这行代码会执行一次
i++;
} while (i < 5);循环控制语句
break: 立即终止并跳出当前所在的整个循环。javafor (int i = 0; i < 10; i++) { if (i == 5) { break; // 当 i 等于 5 时,循环结束 } System.out.println(i); } // 输出 0, 1, 2, 3, 4continue: 跳过当前循环的剩余部分,直接进入下一次迭代。javafor (int i = 0; i < 5; i++) { if (i == 2) { continue; // 当 i 等于 2 时,跳过本次打印 } System.out.println(i); } // 输出 0, 1, 3, 4