• 締切済み

この演算子は何の演算子でしょうか?

下記のようなjavaコードがあります。 int mode = 1; if (true) mode|= 2; System.out.println(mode); これを実行すると結果は3になりますが、 ここで「|」とは何でしょうか? 恥ずかしいですが、 javaを1年半くらいやってきましたけど こんな演算子初めて見ます。 結果からみると 「mode|= 2」が「mode+= 2」と同じになりますが、 「+=」と「|=」は同じものでしょうか?

みんなの回答

回答No.3

#1です。 >ビット演算子ではないでしょうか? ですね。失礼しました。時々間違えちゃう… 論理演算子なら 「||」ですね。

melanie_jp
質問者

お礼

ありがとうございます。解決しました。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

>「+=」と「|=」は同じものでしょうか? 違います。 2 | 1 = 3ですが 2 | 2 = 2です。 「論理和」で調べてください。 http://www.info.kochi-tech.ac.jp/ren/addLab2/bit.html

melanie_jp
質問者

お礼

ありがとうございます。解決しました。

回答No.1

論理演算子のorですね。

melanie_jp
質問者

補足

ビット演算子ではないでしょうか? つまり、 「mode |=2 」= 「mode = mode|2」 ではないでしょうか?

関連するQ&A