比较三个整数值

时间:2011-10-18 20:35:29

标签: java javascript

这样的事情有可能吗?

if(a == b == c)

或是

if((a== b) && (b == c)) 

是唯一的方法吗?

或者最酷的方式是什么?

5 个答案:

答案 0 :(得分:7)

在某些语言中,可以使用该简写。例如,在Python中a == b == c大致相当于表达式a == b and b == c,除了b只被评估一次。

然而,在Java和Javascript中,你不能使用短版本 - 你必须像第二个例子那样编写它。第一个例子大致相当于以下内容:

boolean temp = (a == b);
if (temp == c) {
    // ...
}

这不是你想要的。在Java a == b == c中甚至不会编译,除非c是布尔值。

答案 1 :(得分:1)

在java中 - 我们没有==快捷键操作符。所以我们最终会做出个人平等。

但是如果你认为你需要很多功能变化的参数,我会考虑实现这样的函数。以下是未处理特殊情况的示例代码。

 public static boolean areTheyEqual(int... a) {
        int VALUE = a[0];   
        for(int i: a) {
            if(i!= VALUE)
                return false;
        }       
        return true;
    }

答案 2 :(得分:0)

在JavaScript中,您最安全的赌注是a === b && b === c。为了自己的理智,我总是避免使用==支持===Here's a more detailed explanation.

答案 3 :(得分:0)

在Scala中,您可以为此使用元组:

(a, b) == (c, c)

这将检查a == cb == c,即与a == b == c相同

答案 4 :(得分:-3)

要获得三个数字中的最大值,请使用一行方法:

int max =(a> b&& a> c)? a:((b> a&& b> c)?b:c);