### JAVA经典算法90题(五):使用条件运算符进行成绩分类
#### 背景与目标
在本篇文章中,我们将通过一个具体的例子来深入理解如何在Java编程语言中使用条件运算符(condition operator)来进行逻辑判断。具体场景是根据学生的分数将其成绩分为三个等级:A、B 和 C。
- A级:成绩90分及以上的学生。
- B级:成绩介于60分至89分之间的学生。
- C级:成绩低于60分的学生。
#### 条件运算符简介
条件运算符,也称为三元运算符,是一种简化if-else语句的方法,在Java中使用格式为 `条件 ? 表达式1 : 表达式2`。如果条件为真,则返回表达式1的结果;反之,则返回表达式2的结果。
#### 示例代码解析
下面是对示例代码的详细解析:
```java
public class T5 {
public static void main(String[] args) {
Stu stu1 = new Stu(90); // 创建第一个学生对象,成绩为90
Stu stu2 = new Stu(89); // 创建第二个学生对象,成绩为89
Stu stu3 = new Stu(55); // 创建第三个学生对象,成绩为55
System.out.println((stu1.score >= 90) ? "A" : ((stu1.score >= 60) ? "B" : "C")); // 输出stu1的成绩等级
System.out.println((stu2.score >= 90) ? "A" : ((stu2.score >= 60) ? "B" : "C")); // 输出stu2的成绩等级
System.out.println((stu3.score >= 90) ? "A" : ((stu3.score >= 60) ? "B" : "C")); // 输出stu3的成绩等级
}
}
class Stu {
int score; // 学生的成绩
public Stu(int score) { // 构造函数
this.score = score;
}
}
```
#### 代码详解
1. **创建学生类** `Stu`:
- 定义了一个名为`Stu`的类,该类具有一个整型成员变量`score`用于存储学生成绩。
- 构造方法`Stu(int score)`:接受一个整数参数并将其赋值给成员变量`score`。
2. **主程序** `T5`:
- 在`main`方法中创建了三个`Stu`对象,分别为`stu1`、`stu2`和`stu3`,分别代表成绩为90、89和55分的学生。
- 使用条件运算符对每个学生的成绩进行评估,并打印出对应的等级。
3. **条件运算符的嵌套使用**:
- 对于每个学生对象,如`stu1`,首先判断`stu1.score >= 90`是否成立。
- 如果条件为真,则输出"A"。
- 如果条件为假,则进一步判断`stu1.score >= 60`是否成立。
- 如果条件为真,则输出"B"。
- 如果条件为假,则输出"C"。
#### 执行结果
当执行上述代码时,控制台将输出每个学生的成绩等级:
- 对于`stu1`:成绩为90分,输出"A"。
- 对于`stu2`:成绩为89分,输出"B"。
- 对于`stu3`:成绩为55分,输出"C"。
#### 总结
通过这个示例,我们不仅学习了如何在Java中使用条件运算符,而且还掌握了如何通过嵌套条件运算符来实现更复杂的逻辑判断。这对于编写简洁高效的代码非常有帮助。此外,本例还介绍了如何定义自定义类以及如何实例化这些类的对象。这些都是Java编程的基础知识,对于深入学习和掌握Java语言至关重要。