带有"?"运算符和中断 Java 的 if 语句



我找不到任何方法如何使用方法?操作员。我所知道的:

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

这将使我返回真或错误,但是如果我有休息的方法?这样:

if(!again){
break;
}

我也可以这样做吗?操作员 ?还是您知道更好的方法?我有循环时使用此方法。

我不知道该说些什么。我几乎到处都在看。谢谢你

thanx用于回复< 3

条件操作员被用作 expression 的一部分。所以

  x ? y : z

是一种表达式。您可以在任何地方都使用它。但是,

  if (some_condition) some_action;

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

来做到这一点

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

 if (x ? y : z) some_action;

只要x,y,z本身就是布尔次级表达。因此,用您的原始术语来说,这是合法的:

if (!again ? true : false)
     break;

,但它是多余的,并减少为

 if (!again)
     break;

因此,使用?:运算符编写它是负值。

break;是一个语句。在Java中,陈述和表达式通常不能混合在一起,尽管有几件事(分配,一单元增量/减少表达式,构造函数调用和方法调用)都是。

三元操作员仅与表达式一起工作。

那样简单。break 不是表达式cond ? a : b 中的'a'和b'必须是表达式。

if (!again) break;是唯一的方法。

最新更新