[英]if statement with “?” operator and break java
我在任何地方都找不到如何使用方法? 操作員。 只有我所知道的:
boolean something = (!again) ? true : false;
這返回的是真還是假,但是如果我有if方法,可以使用break? 像這樣:
if(!again){
break;
}
我也可以這樣做嗎? 操作員? 還是您知道更好的方法? 我在while循環中有此方法。
我不知道該說些什么..只是我可以找到那個。 我幾乎到處都在看。 謝謝
感謝回復<3
break;
是一個聲明。 在Java中,盡管有些東西(賦值,一元增/減表達式,構造函數調用和方法調用)都同時存在,但通常無法將語句和表達式混合使用。
三元運算符僅適用於表達式。
就這么簡單。 break 不是表達式 , cond ? a : b
的'a'和'b'是cond ? a : b
cond ? a : b
必須是表達式。
if (!again) break;
是唯一的方法。
條件運算符用作表達式的一部分。 所以
x ? y : z
是一個表達。 您可以在需要表達式的任何地方使用它。 然而,
if (some_condition) some_action;
是一個語句 ,通常來說,表達式和語句不可互換。 因此,如果您試圖擺脫if
語句,則無法使用?:
另一方面, some_condition
是一個(布爾)表達式,因此您可以編寫:
if (x ? y : z) some_action;
只要x,y,z本身都是布爾子表達式。 因此,按照您的原始說法,這是合法的:
if (!again ? true : false)
break;
但這是多余的,減少到
if (!again)
break;
因此使用?:
運算符編寫時會產生負值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.