文字列の比較
number == 0
上記のようなコードがあったとします。
意味としては変数 number に 0 が代入され、右側の 0 と等しい という意味になります。
では文字の場合は・・・?
fruit == "りんご"
になるんじゃないの?? と思ってしまいます。
じつは間違いです。
Java の場合は、文字列は == では比較できないということになっています。
ではどうするのかというと・・・
文字列型の変数.equals(比較相手の文字列)
となります
なのでさっきのコードは
fruit.equals("りんご")
となります
余談ですが、文字列に == を使ってもコンパイルエラーは起きません
ただ実行できるけど動きが変になるというタチの悪い不具合が起こります
コンパイルエラーが起きないだけにエラーをみつけるのが厄介になります
&& と ||
&& は 「女性かつ東京生まれ」など 2 つ以上の全ての条件を一致させたいときに使います。
|| は「女性または東京生まれ」など 条件のどれかにあてはまるものに一致させたいときに使います。
(例)20 歳以上 かつ 5 月生まれ
age >= 20 && month == 5
20 歳以上 かつ 5 月生まれ で条件が全て一致すれば true になり、それ以外だと false になります。
(例)20 歳以上 または 5 月生まれ
age >= 20 || month == 5
20 歳以上 または 5 月生まれ でどれにもあてはまらない場合は false となり、それ以外はすべて true になります。