7

動作の理解を容易にするためにここにあるため、状態を見ないでください。

結果が true に等しいのはなぜですか?

boolean result = false && (false)?false:true;

次のようにして問題を解決できることはわかっています。

boolean result = false && (false?false:true);

しかし、なぜ最初の構文が正しくないのか疑問に思っています。「?」のように見えます。演算子は「&&」よりも優先されます

4

5 に答える 5

15

項条件( ?:) は よりも優先順位が低くなります&&。そう

boolean result = false && (false)?false:true;

(不要な括弧がある); と同等です

boolean result = (false && false) ? false : true;

以来 (なのでfalse && falseですfalse)​​、これはに還元されます

boolean result = false ? false : true;

もちろん、これはですtrue

于 2013-09-13T13:55:56.490 に答える
11
  1. && (論理積)

説明 :- 2 つの式を比較し、両方が true と評価された場合にのみ true を返します。一方または両方が false と評価された場合、false を返します。

次のリストは、考えられるすべての組み合わせを示しています。

true && false = false // Evaluates false because the second is false
false && true = false // Evaluates false because the first is false
true && true = true // Evaluates true because both are true
false && false = false// Evaluates false because both are false

構文

式 1 && 式 2

論理積について詳しくはこちら

  1. || (論理和)

説明 :- 2 つの式を比較し、一方または両方が true と評価された場合に true を返します。両方の式が false の場合にのみ false を返します。

次のリストは、考えられるすべての組み合わせを示しています。

true || false = true // Evaluates true because the first is true
false || true = true // Evaluates true because the second is true
true || true = true // Evaluates true because both are true
false || false = false // Evaluates false because both are false

構文

式1 || 式2

論理和について知りたい方はこちら

于 2014-07-28T05:38:30.793 に答える
6

false && (false)に評価されるfalseため、三項演算子の最後の値が返されますtrue

于 2013-09-13T13:52:36.450 に答える
1

それは単なるブール代数です。

False && false = true
false && true = false
true && true = true
true && false = false

したがって、最初のケースでは、次のように記述します。

if (false && false){
result = false
} else {
result = true
}

2番目のケースでは、次のように書きます:

result = false && (false == false);

false == false は true を返します。したがって、 false && true は false を返します

于 2013-09-13T13:55:23.567 に答える