質問: int a=1,b=0,c=0のとき a==0 && (b==0 || c==0) a==0 && b==0 || c==0 の2つの論理式あったとします 質問1:前者の論理式の論理演算子である&&は、a==0と(b==0 || c==0)をつないでるイメージですか? 質問2:後者のa==0 && b==0 || c==0の論理式の||は、a==0 && b==0とc==0をつないでるイメージですか? 質問3:論理演算子は、その論理演算子からみて左方向にある関係式全てと右にある 関係式1つを結ぶものですか?ただし、()の中に複数の関係式がある場合、その複数の関係式を1括りにしていい。(例えば質問1の前者の例)
回答: 1)はい,そうです。 2)はい,そうです。 3)いいえ,違います。 キーワード「java 演算子 優先順位」でGoogle検索して最上位にヒットしたのがこちら。 Javaでは || より && の優先順位が高いので, 以下,左の式の優先順位を括弧で明示すると右の式のようになります。 a==0 && b==0 || c==0 → (a==0 && b==0) || c==0 a==0 || b==0 && c==0 → a==0 || (b==0 && c==0)