使用双打时替代if else语句

阿卜杜勒

根据工资,我需要为员工对象分配特定的税率。薪水是由AnnualSalary定义的,它是两倍,所以我不能使用switch语句。我改用if / else:

public int getSalaryRank() {
    if(yearlySalary <= 60000.00) {
        salaryRank = 1;
    } else if(yearlySalary > 60000.00 && yearlySalary <= 80000.00) {
        salaryRank = 2;
    } else if(yearlySalary > 80000.00 && yearlySalary <= 100000.00) {
        salaryRank = 3;
    } else if(yearlySalary > 100000.00 && yearlySalary <= 125000.00) {
        salaryRank = 4;
    } else {
        salaryRank = 5;
    } return salaryRank; }

稍后将基于等级分配税率。有没有更好的方法来写这个?

斯韦特林·扎列夫(Svetlin Zarev)

您可以像这样简化它:

public int getSalaryRank() {
    int salaryRank;

    if(yearlySalary <= 60000.00) {
        return  1;
    } 

    if(yearlySalary <= 80000.00) {
        return 2;
    } 

    if(yearlySalary <= 100000.00) {
        return 3;
    } 

    if(yearlySalary <= 125000.00) {
       return 4;
    } 

    return 5

}

左侧的所有检查都是不必要的,因为语句是按顺序执行的。此外,您可以删除else语句并直接返回salaryrank同样,在处理货币时,千万不要使用浮点数。使用BigDecimal替代

编辑:考虑到@AlexWien对多个出口点的评论,这可能是一个更好的解决方案:

public int getSalaryRank() {
        if(yearlySalary <= 60000.00) {
            salaryRank = 1;
        } else  if(yearlySalary <= 80000.00) {
            salaryRank = 2;
        } else if(yearlySalary <= 100000.00) {
            salaryRank = 3;
        } else if(yearlySalary <= 125000.00) {
           salaryRank = 4;
        } else {
           salaryRank = 5;
        }  

        return salaryRank;

    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python替代if / else语句

来自分类Dev

替代switch / if else语句?

来自分类Dev

Python替代if / else语句

来自分类Dev

替代switch / if else语句?

来自分类Dev

if else-if else 语句的替代 C++

来自分类Dev

使用多个else if语句

来自分类Dev

使用多个if else语句

来自分类Dev

使用多个if else语句

来自分类Dev

替代 if-then-else 或 case 语句

来自分类Dev

对多个条件使用if else语句

来自分类Dev

使用else语句的语法无效

来自分类Dev

使用数组的多个if else语句

来自分类Dev

使用if-else语句发出

来自分类Dev

在JavaFX中使用If / Else语句

来自分类Dev

是否有使用IF / ELSE语句的替代方法

来自分类Dev

替代if-else和switch语句

来自分类Dev

JavaScript中if else语句的替代方法

来自分类Dev

jQuery仅在单击时执行if / else语句的'if'

来自分类Dev

All()在else语句每次打印时

来自分类Dev

编程在 If 为 True 时诉诸 Else 语句

来自分类Dev

在编写代码时考虑if,else if,else语句(java)

来自分类Dev

如何停止使用else语句打印Python if语句?

来自分类Dev

如何使用switch语句优化多个if-else语句?

来自分类Dev

在if / else语句中使用名称空间

来自分类Dev

使用else / if语句或SQL查询是否更快?

来自分类Dev

使用空检查简化If / Else语句

来自分类Dev

使用“ if / else if”语句启动.click函数

来自分类Dev

if else语句使用&&和||一行

来自分类Dev

使用if / else语句创建新的变量列