我有这两种方法.我理解"getTotalSalary"但却没有真正理解"getAverageSalary"的编写方式.我不明白为什么使用问号和冒号以及"(size()!= 0)"和最后的0.
这是编码:
public double getTotalSalary() {
double total = 0;
for (Employee e : empReg) {
total = total + e.getSalary();
}
return total;
}
public double getAverageSalary() {
return (size() != 0) ? this.getTotalSalary() / this.size() : 0;
}
Run Code Online (Sandbox Code Playgroud)
empReg是ArrayList的名称.员工是由"姓名"和"薪水"组成的班级.getSalary显然是一种返回薪水的方法.
问号称为三元运算符,用于根据评估做出决策.它通常用于替换if语句,因为它们执行相同的操作.例如,将使用if语句编写:
if (size != 0)
return this.getTotalSalary() / this.size();
else
return 0;
Run Code Online (Sandbox Code Playgroud)
根据我的经验,如果我想减少代码大小,我只会使用它.但是,它确实使代码更难以阅读.
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |