繁体   English   中英

如何将这个 if else-if 语句变成 Java 中的简短形式?

[英]How to make this if else-if statement into a short form in Java?

public static double eMED(int emo) {
    double result = 0;

    if (emo >= 40 && emo < 60) {
        result = upFunc(emo, 40, 60);
    } else if (emo > 60 && emo <= 80) {
        result = downFunc(emo, 60, 80);
    } else if (emo == 60) {
        result = 1;
    }
    return result;
}

你的代码看起来很短。 你不能让它更短。 您可以使用三元运算符,但代码变得几乎不可读。

    return emo == 60 ? 1 
            : emo >= 40 && emo < 60 ? upFunc(emo, 40, 60) 
            : emo > 60 && emo <= 80 ? downFunc(emo, 60, 80) 
            : 0;

用例很短

例子 :

public class SwitchDemo {
    public static void main(String[] args) {

        int month = 8;
        String monthString;
        switch (month) {
            case 1:  monthString = "January";
                     break;
            case 2:  monthString = "February";
                     break;
            case 3:  monthString = "March";
                     break;
            case 4:  monthString = "April";
                     break;
            case 5:  monthString = "May";
                     break;
            case 6:  monthString = "June";
                     break;
            case 7:  monthString = "July";
                     break;
            case 8:  monthString = "August";
                     break;
            case 9:  monthString = "September";
                     break;
            case 10: monthString = "October";
                     break;
            case 11: monthString = "November";
                     break;
            case 12: monthString = "December";
                     break;
            default: monthString = "Invalid month";
                     break;
        }
        System.out.println(monthString);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM