Appearance
Java 条件语句笔记
Java 中的 条件语句 用于根据特定的布尔表达式(即 true
或 false
)执行不同的代码块。以下是常见的几种条件语句及其用法。
1. if-else 语句
if-else
是 Java 最基本的条件语句,用于在两种情况之间选择。
基本语法:
java
if (布尔表达式) {
// 当布尔表达式为 true 时执行的代码块
} else {
// 当布尔表达式为 false 时执行的代码块
}
示例:
java
int age = 18;
if (age >= 18) { // 布尔表达式:判断是否大于等于18岁
System.out.println("你已经成年了"); // 成年人操作
} else {
System.out.println("你还未成年"); //未成年人操作
}
注意事项:
if
和else
之间必须有大括号{}
,除非只有一条语句。- 布尔表达式可以是任何返回布尔值的条件(如
<
,>
,==
,!=
等)。
2. 嵌套 if-else
如果需要更复杂的判断逻辑,可以在 if
或 else
内部再添加另一个 if-else
结构。
示例:
java
int score = 85;
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 70) { // 嵌套的条件判断
System.out.println("良好");
} else {
System.out.println("及格");
}
解释:
else if
表示“否则如果”,用于在多个条件下依次判断。- 如果第一个条件不满足,才会执行下一个条件。
3. switch-case 语句
switch-case
是另一种多分支选择结构,通常用于根据变量的值匹配不同的情况。它比 if-else if
更简洁且高效(尤其是当分支较多时)。
基本语法:
java
switch (表达式) {
case 值1:
// 代码块1;
break; // 可选,用于跳过后续的 fall-through
case 值2:
// 代码块2;
break;
default: // 所有情况都不满足时执行
// 默认操作;
}
示例:
java
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("其他情况");
}
注意事项:
switch
表达式只能是 整数 或 字符串类型(从 Java 7 开始支持字符串)。- 每个
case
后面必须有break;
,否则会“fall through”到下一个分支。
4. 三元运算符
Java 提供了一个简洁的条件判断语法——三元运算符(Ternary Operator),可以简化简单的 if-else 结构。
基本语法:
java
布尔表达式 ? 表达式1 : 表达式2;
示例:
java
int age = 18;
String result = (age >= 18) ? "成年" : "未成年";
System.out.println(result); // 输出:成年
解释:
- 如果布尔表达式为
true
,则结果取表达式1
;否则取表达式2
。 - 三元运算符的结果可以是任何类型(如字符串、数值等)。
5. 条件语句的注意事项
- 布尔表达式的书写要清晰,避免复杂的逻辑导致难以理解代码。
- 使用有意义的变量名和注释,提高代码可读性。
- 避免过度嵌套
if
或else if
结构,尽量使用switch-case
处理多个分支。
6. 综合示例
以下是一个结合了多种条件语句的完整程序:
java
public class ConditionExample {
public static void main(String[] args) {
int score = 85;
boolean isPass = (score >= 70); // 判断是否及格
if (isPass) {
System.out.println("你已经通过考试!");
switch(score / 10) { // 根据分数的十位数判断等级
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
default:
System.out.println("及格");
}
} else {
System.out.println("你需要补考!");
int grade = (score / 10);
if (grade == 7) { // 特殊情况处理
System.out.println("你已经尽力了,加油!");
}
}
String result = isPass ? "通过" : "未通过";
System.out.println(result); // 输出:通过或未通过
}
}
解释:
- 使用
if
判断是否及格。 - 在内部使用
switch-case
根据分数进一步细分等级。 - 使用三元运算符简化结果输出。
总结
Java 的条件语句包括 if-else、switch-case 和 三元运算符,它们各有特点:
if-else
适合简单的两分支判断;switch-case
适合多分支的场景;- 三元运算符则适用于非常简洁的情况。
选择合适的条件语句可以提高代码的可读性和效率。