检查4个整数变量是否等于0的最佳方法是什么?

时间:2013-08-10 16:17:46

标签: java if-statement

我有4个非负整数值a,b,c和d.how我可以检查a,b,c和d是否以最佳方式等于0? 哪个是最小计算的最佳实践

  

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

  

如果(A + B + C + d == 0)

或java中的任何其他最佳方式?

4 个答案:

答案 0 :(得分:7)

if((a|b|c|d) == 0)

按位或

答案 1 :(得分:4)

最好的方法是

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

一旦一个变量不为零,就会停止比较,如果所有变量都为零,则对每个变量执行一次比较。

它还清楚地表达了您要做的事情,即检查所有变量是否为零。 Twiddling位可能带来一个小优势(或者不是 - 测量它!),但它会混淆你的代码,并且显然属于微优化领域。

答案 2 :(得分:1)

您可以检查最大数字是否为零,或检查它们的总和(算术或logical)是否为零。

没有单一的通用“最佳”方式。

如果你的目标是明确,那就很难超越if (a==0 && b==0 && c==0 && d==0)

如果您的目标是表现,则需要:

  1. 确定这段代码的性能确实很重要;
  2. 使用编译器,目标硬件和典型输入对各种方法进行基准测试。

答案 3 :(得分:1)

对所有变量执行二进制或运算并检查其二进制或零

(a | b | c | d) == 0