2017-02-06 5 views
0

私はb1 |= b2b1 = b1 | b2に相当するショートカットであることを読んでいます。私の質問は本当に二つ折りです:複合比較演算子のポイントは何ですか?

"="比較演算子ではなく代入演算子ですか?もしそうなら、それはこの文脈で何をするのですか?

ここでは比較演算子ですか、変数を自分と比較する必要がある場合(つまりb1 = b1)はどこですか?

(。。私はこれはおそらく依頼する初心者エスト初心者くさい質問です実現が、私は唯一のbashスクリプトやプログラミングなし学歴を書い非公式な経験を持って親切にし;)

注:これはありますShortcut "or-assignment" (|=) operator in Java

+1

'| ='は複合比較演算子ではありません。 –

+3

複合比較演算子はなく、複合代入演算子のみです。 – Eran

+0

これはブール値ですか?b1またはb2のいずれかが真の場合、b1は真となりますか? – NenTenEn

答えて

1

Javaには多くの演算子があります。しかし、「化合物比較演算子」はそれらの1つではありません。あなたは 'Head first Java'のような良い本からJavaの基本を読むべきです。

この特定の質問に答えるために、b1 |= b2は複合割り当てです。

  1. =はLHSオペランドすなわちb1からb1|b2の結果を割り当てます。
  2. 比較結果がassignmentであることが分かりましたので、b1 |= b1の結果はb1 = b1|b1と同じになります。

(ここで|注条件演算子である論理OR両者の数字ではない||である。|||は異なる意味を有する)

HTH。

+0

説明をありがとう。 'b1 = b1 | b1'ではなく' b1 = b1 | b2'と書くのですか? – NenTenEn

+0

私は 'b1 = b1 | b1'を意味していました。 – madcap