首页 > 解决方案 > 以更短的方式编写 Java 长 If/Else 循环

问题描述

大家好,我目前有一个任务,我刚刚完成,但他们的一个细节是我不喜欢的。有没有办法缩短 if else 循环

目前我已经写了

    if (x >=300) {
        set y = 1;
    }
    else if(x >=200) {
        set y = 2;
    }
    else if (x >=150) {
        set y = 3;
    }
    else if (x>=100) {
        set y = 4;
    }
    else if (x >=50) {
        set y = 5;
    }
    else if (x >=25) {
        set y = 6;
    }

可能我只是迂腐,提前谢谢

标签: javaif-statement

解决方案


这看起来像是一个可以使用 switch 语句的地方。但是,switch 语句旨在处理已知值而不是不等式。如果您不喜欢 if-else 语句链的外观,您可以在内联表达式(三元运算符)中完成所有操作,但这会使它难以阅读。

我会说保持代码原样,除非有充分的理由改变它。如果您只想在每个语句之后有一个代码语句,那么您可以去掉花括号 {} 以使代码看起来更简洁:

    if (x >= 300) set y = 1;
    else if (x >= 200) set y = 2;
    else if (x >= 150) set y = 3;
    else if (x >= 100) set y = 4;
    else if (x >= 50) set y = 5;
    else if (x >= 25) set y = 6;

推荐阅读