java - 带有 "?"运算符的 if 语句并中断 java

标签 java eclipse if-statement

我在任何地方都找不到如何使用 ?运算符(operator)。 仅我所知道的:

boolean something = (!again) ? true : false;

这会返回true或false,但是如果我有带有break的if方法?像这样:

if(!again){
break;
}

我也可以这样做吗?运算符(operator) ?或者你知道更好的方法吗? 我在 while 循环中有这个方法。

我不知道该说些什么......只是我找不到。我几乎到处找。谢谢

感谢回复<3

最佳答案

条件运算符用作表达式的一部分。所以

  x ? y : z

是一个表达式。您可以在任何需要表达式的地方使用它。然而,

  if (some_condition) some_action;

是一个语句,一般来说,表达式和语句是不能互换的。因此,如果您想摆脱 if 语句,则无法使用 ?:

另一方面,some_condition 是一个( boolean )表达式,因此您可以编写:

 if (x ? y : z) some_action;

只要 x、y、z 本身是 boolean 子表达式。所以按照你原来的说法,这是合法的:

if (!again ? true : false)
     break;

但它是多余的并且减少到

 if (!again)
     break;

因此使用 ?: 运算符编写它具有负值。

关于java - 带有 "?"运算符的 if 语句并中断 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54776908/

相关文章:

java - 如何使用 PKCS12 keystore 以 SSL 模式运行 jetty 服务器?

java - URLConnection 抛出 FileNotFoundException。我如何发现这是由 404 引起的?

c++ - 将编译器开关添加到 Eclipse CDT 内置编译器设置生成?

java - 使 Eclipse 在其控制台中显示最顶层的异常而不是完整的堆栈跟踪

excel - IF 函数 - 有没有办法避免重复公式

regex - 如何让我的程序将第一行视为 'special'

java - 使用 wro4j-maven-plugin 的 Spring Boot AngularJs 应用程序 : angular-bootstrap. css 生成失败

java - 用于设备 Java 库的 Google API OAuth 2.0

java - GL_QUADS 以我不希望的方式渲染

java - 尝试处理用户输入的异常