はじめに
比較演算子と論理演算子はいろんな言語共通して使用できることが多いです
ただ共通して使用できないケースもあるようなので、
今回は復習も兼ねてまとめようと思います!
同じ書き方をしていても、言語ごとに少しずつ違うこともあるようです
難しいですね…もっと勉強して一つ一つの違いをまとめられるよう頑張ります!
比較演算子
== と != について
基本的に多くの言語で共通して使われる比較演算子は==と!=です
== は"等しい"
!= は"等しくない"
「等しい」には2種類あり、言語ごとに意味が異なるようです
- 同値:値(内容)が同じ
- 同一:オブジェクトが同じ
言語ごとに厳密には処理が違うので注意してください!
JavascriptとPHPには上記に加えて、===と!==があります
=== は"型も含めて厳密に比較して等しい"
!== は"型も含めて厳密に比較して等しくない"
==の種類一覧
| 言語 |
==の種類 |
メモ |
|---|---|---|
| Java | 同一比較 | 同値比較にはequalsを使用 |
| Javascript | 同値比較 | 型変換ありの比較、厳密比較には===を使用 |
| Python | 同値比較 | 値を直接比較、同一性にはis使用 |
| Ruby | 同値比較 |
==で内容比較、同一性にはequal?を使用 |
| PHP | 同値比較 | 型変換ありの比較、厳密比較には===を使用 |
< , > , <= , >= について
同じく、多くの言語で共通して使われる比較演算子です
< は"より小さい"
> は"より大きい"
<= は"以下"
>= は"以上"
論理演算子
&& と ||と! について
こちらも多くの言語で共通して使われている論理演算子です
結果は例としてtrue,falseを用いてますが、言語によっては最後に評価した結果を返すこともあります
&&
-
&&は日本語で言うと「かつ」になります
例) 条件1がtrue "かつ" 条件2もtrue である場合 true
どちらか一方でもfalseになれば、結果はfalseです
||
-
||は日本語で言うと「または」になります
例) 条件1がtrue "または" 条件2がtrue である場合 true
どちらか一方さえtrueであれば、結果はtrueになります
!
-
!は日本語で言うと「〜でない」になります
例) 条件式の前に!をつけるとすると、"条件式でない場合〜"trueとなります
!(X==10) だとXが10と等しくない場合がtrueといった感じです
and と orとnot について
先ほどの&& と ||と!の論理演算子ですが、
Pythonでは使用できず、代わりにand と orとnotが使用できます
まとめ
共通して使用できるものが多いものの、
JavascriptやPythonでちょっとした違いがありましたね
9/1 コメントでご指摘いただきました件を追記しました!
同じ書き方をしていたとしても、言語によって厳密には違うので注意するようにします
少しずつ調べて、言語による違いを追加していければと思っています!
ご指摘ありがとうございました!