2017-12-21 52 views
-2

私のJavaの教科書では、チェックポイントの質問は尋ねます: xとyはint型であるとします。次のうち正当なJava式はどれですか?xとyはint型であるとします。次のうち正当なJava式はどれですか?

x > y > 0 
x = y && y 
x /= y 
x or y 
x and y 
(x != 0) || (x = 0) 

回答:

x > y > 0 is incorrect 
x = y && y is incorrect 
x /= y is correct 
x or y is incorrect 
x and y is incorrect 
(x != 0) || (x = 0) is incorrect on x = 0 

それらのすべては、最初の1を除いて私には意味をなさない。 x> y> 0が間違っているのはなぜですか? x = 3とy = 2(両方とも整数)でないと、その式は正しくなりますか?

+3

、ない*真*表現:あなたはその動作を実現したい場合は、明示的論理&&演算子を使用する必要があります。 Javaの整数をブール値と比較することはできません。 – Ryan

+0

'x> y'の結果は' boolean'です。 –

+2

'x> y'はブール値を生成します。だから 'x> y> z'は'何らかのブール値> z'です。 'boolean> int'はJavaでは正当な式を生成しません。あなたがそれを信じていなければ試してみてください。 – khelwood

答えて

2

比較演算子をJavaのように連結することはできません(Pythonで行うなど)。それは単に有効な構文ではありません。それは、*法務*表現についての質問です

x > y && y > 0 
関連する問題