No.2ベストアンサー
- 回答日時:
「結ぶ」とか「つなぐ」という表現は意味が曖昧なので、言い換えます。
&&や||は2つのboolean型の式の間で演算を行う演算子です。【上の式】
&& は a==0 と (b==0 || c==0) の間の演算
|| は b==0 と c==0 の間の演算
【下の式】
演算順序に従って括弧を付けると (a==0 && b==0) || c==0 と同等だから、
&& は a==0 と b==0 の間の演算
|| は (a==0 && b==0) と c==0 の間の演算
どこからも「&&が||とb==0を共有」などという解釈は出てきません。
No.1
- 回答日時:
> 質問:論理演算子は、必ず「左右2つの変数しかつなげない」のですか?
まず、「つなげる」と言う言葉は論理演算子に対しては不適切です。
次に、論理演算子は変数ではなく論理値を使って論理演算を行います。だから、定数でもboolean型変数何らかの比較結果でもboolean型メソッドの戻り値でも他の論理演算の結果でもかまいません。
さらに、演算子の優先順位は&&のほうが||よりも上です。従って、前者は括弧があるため&&はa==0の結果とb==0 || c==0の結果との論理積を計算し、後者の||は優先順位の高いa==0 && b==0の結果とc==0の結果との論理和を計算します。
> 質問2:質問1の仮説が正しいとすると、前者も後者も論理演算子&&は、論理演算子||とb==0を共有してますよね?
意味不明な上、質問1の仮説が間違っているため回答いたしません。
なお、実際の計算では、
前者:a==0はfalseのためb==0 || c==0を評価せずにfalse
後者:a==0はfalseのためb==0を評価せずにa==0 && b==0をfalseとみなし、その後c==0がtrueなので全体としてはtrue
と言う処理になります。この場合は問題ありませんが、その評価スキップが問題になることもありますのでご注意を。
たとえば、
class A {
public boolean foo()
{
return true;
}
}
A a = null;
if ((a != null) && a.foo()){
// ほにゃらら
}
という場合、if文の条件判定をa.foo() && (a != null)とすることはできません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 量子力学についていくつか質問があります。 まだ興味を持ち始めたばかりで、完全な物理未経験者のため、未 5 2022/10/25 18:11
- 数学 「数学(一般論・四則演算など)」は、どうやって「♂。。。ハッテン。。。♂」したのですか? 2 2022/04/13 18:52
- 物理学 ひも理論についての質問です。 ひも理論を調べてみると、元々素粒子を座標として表していた(便宜上)が、 5 2022/04/17 19:21
- 哲学 不毛な議論 8 2023/03/03 07:31
- 数学 ( A xor B ) xor B = A となることを論理演算表で完成させてください。 4 2022/10/27 02:12
- 数学 0の逆数について 7 2022/07/21 16:24
- 糖尿病・高血圧・成人病 血液検査の実測値と理論値との相違 1 2022/10/06 09:31
- 化学 気体分子運動論の問題について質問です。 「水素原子の原子量は1.01です。0℃における水素分子(H₂ 2 2023/04/16 21:07
- 数学 京都大学教授が証明。 「ABC予想・宇宙際タイヒミューラー予想」を、ザックリで説明お願致出来ますか? 1 2022/04/11 20:52
- 心理学 心理学のカテゴリーで割り算の質問というのも変なのかもしれませんが数学的な関心ではないので、心理学にし 1 2022/07/24 10:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列にnullを代入すると、null...
-
ORA-01858: 数値を指定する箇所...
-
getStringの値がNULLの時の処理
-
BOOL値を逆にしたい
-
java 引数 戻り値のあるメソッド
-
Java配列でNullPointerExceptio...
-
C# ListBoxのインデックスの値...
-
逆コンパイルの見方について(...
-
Stringを返す getText()メソッ...
-
HashMapがおかしい
-
JSPで複数のSQL実行につ...
-
応用情報技術者試験の令和元年...
-
1~100までの数字を表示し、か...
-
ループ処理の際、最後だけ","を...
-
Javaで改行などが出来ないのです。
-
ダブルクォーテーションのrepla...
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
n番目に大きな値を探索する
-
java キーボード入力された値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
配列にnullを代入すると、null...
-
Java配列でNullPointerExceptio...
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
C# ListBoxのインデックスの値...
-
eclipseでoracle接続時のエラー...
-
gas カレンダー祭日設定でエラー
-
Javascript エラーメッセージが...
-
java 引数 戻り値のあるメソッド
-
C#でラジオボタンとコンボボッ...
-
MySQLのテーブル名を変数に置い...
-
jsp/Servletの動的に増えるフォ...
-
例外でBeanUtils.populateが、...
-
Stringを返す getText()メソッ...
-
JSPで複数のSQL実行につ...
-
逆コンパイルの見方について(...
-
if文を通らない
-
この世で連日正規表現について...
-
逆コンパイルの見方について(...
おすすめ情報