A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
|| 演算子の定義をみれば一発だと思いますが
>if( a == 1 || 2 ){}
常にifの中が実行される。条件の評価は
a==1 がtrueならtrue
a==1 がfaleなら2
いずれも truthy なので、true と判断されます。
>if( a == (1 || 2)){}
a==1がtrueならifの中が実行されます。
a==1がいつtrue になるかはまた別の話。
うちのプロジェクトでは
a===1と書かないとコードレビューで
弾かれるでしょう(^^;
No.2
- 回答日時:
こんばんは。
既に回答がでていますが、若干の補足を。
条件式の評価は、通常の四則演算と同様に優先順位に基づいて評価されます。
ご提示の式に関係のあるもので言えば、
( )内> 比較演算子 > 論理演算子
の順になります。
https://developer.mozilla.org/ja/docs/Web/JavaSc …
>if( a == 1 || 2 )
計算順序をわかりやすくするなら、
(a == 1) || 2
の順に評価されるので、( )内の結果にかかわらず、常にtrueと評価されるはずです。
>if( a == (1 || 2))
a == (1 || 2)
の右側の( )内は常に1になるので、結果的に
a == 1
と等価となるはずです。
No.1
- 回答日時:
ほう、そんなことしたことないな、と思ってやってみました。
if( a == 1 || 2 ){}
左の比較式(a == 1)がtrueになるとtrue、falseになると右辺の数値(ここでは2)
1が返ろうが2が返ろうが、0以外が返ればそれはtrue。
0が返ればfalseだけど、右辺を0と記すならば、そもそもそんな記述いらないと思う。
if( a == (1 || 2)){}
(1 || 2)のように数値同士にor演算子を行うと、
左辺が0以外の場合は必ず左辺の値(ここでは1)を返却する。
- 左辺が0の時は必ず右辺を返却する。
- 左辺も右辺も0の時は0を返却する。
この時、a = 1であれば、 1 == 1でtrue、a = 2であれば、 2 == 1でfalse
まぁ、真っ当な処理とは思えないし、使うことはないかな。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ラムダ式 3 2022/11/28 16:48
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- C言語・C++・C# C言語 leetcode21 Merge Two Sorted Lists 2 2022/04/24 19:35
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- PHP PHPの変わった閉じタグの必要性と意味を教えてください。 1 2022/08/28 15:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
配列にnullを代入すると、null...
-
Java配列でNullPointerExceptio...
-
eclipseでoracle接続時のエラー...
-
jsp/Servletの動的に増えるフォ...
-
BOOL値を逆にしたい
-
JSPによる画面間のパラメータの...
-
onbeforeunloadでnullを返すとI...
-
gas カレンダー祭日設定でエラー
-
Javascript エラーメッセージが...
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
ループ処理の際、最後だけ","を...
-
[JAVA]try 内の変数を外で!?
-
オブジェクトの中のプロパティ...
-
VBAで配列の計算
-
Path型をString型へ変換する(Java)
-
カタカナの小文字を大文字に変...
-
System.err. printlnとSystem.o...
-
SwingでJtableのヘッダ行が表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
配列にnullを代入すると、null...
-
Java配列でNullPointerExceptio...
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
C# ListBoxのインデックスの値...
-
eclipseでoracle接続時のエラー...
-
例外でBeanUtils.populateが、...
-
jsp/Servletの動的に増えるフォ...
-
Stringを返す getText()メソッ...
-
gas カレンダー祭日設定でエラー
-
JSPでの画面表示の方法
-
空欄のテキストフィールドの判...
-
JSPで複数のSQL実行につ...
-
逆コンパイルの見方について(...
-
C#でラジオボタンとコンボボッ...
-
Safari ダウンロード時に日本語...
-
java DAO 日付指定フォーマット...
-
oracle10g java jdbc 大量inser...
-
MySQLのテーブル名を変数に置い...
おすすめ情報