java - 如何写(if, if, if) else if none

标签 java boolean if-statement

我正在尝试创建一组 if 语句,其中每个 if 将打印给定的某些参数为 true,但 else 只会打印 if 没有返回任何 if。我认为 else if 在这种情况下不起作用。

我有一些代码(颜色仅作为示例):

boolean any=false;

if(redStage==2)
{ any=true; System.out.print(redComplete); }

if(blueStage==2)
{ any=true; System.out.print(blueComplete); }

if(greenStage==2)
{ any=true; System.out.print(greenComplete); }

if(any==false)
    System.out.print(noneComplete);

我可以做些什么来消除使用单独的 boolean 值来检查 if 参数是否为 true 的需要吗?

编辑: (我只是注意到可能令人困惑的地方。我使用的代码实际上并没有使用 return。相反,它打印出结果,这意味着可以返回不止一件事。)

最佳答案

由于您需要彼此独立地处理各个阶段,并且可以同时完成多个阶段,因此您的代码已达到最佳状态。

以下是我对您原来问题的回答:

您不需要 boolean 值。您的代码相当于:

if (redStage   == 2) { return redComplete; }
if (blueStage  == 2) { return blueComplete; }
if (greenStage == 2) { return greenComplete; }
return noneComplete;

这利用了每个 if 正文包含无条件 return 的事实。如果不是这种情况,您可以像这样表述该结构:

if (redStage == 2) {
   // redComplete
} else if (blueStage == 2) {
   // blueComplete
} else if (greenStage == 2) {
   // greenComplete
} else {
   // noneComplete
}

关于java - 如何写(if, if, if) else if none,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15172729/

相关文章:

java - 来自字符串表达式的动态 If 条件

SQL在存储过程中使用if语句更新表

javascript - 相关下拉元素上的 if-else 语句的问题

java - 如何将 Observable<String> 转换为 JSON

java - 在这种情况下如何删除最后一个括号

javascript - 为什么 if([]) 在 javascript 中被验证而 [] == false?

javascript - 零的否定产生假

PHP is_null : Only boolean true and false, 甚至不是 null?

java - CWWKF1219E : The IBM WebSphere Liberty Repository cannot be reached

java - 基于语言环境的验证