0
0

More than 3 years have passed since last update.

【Java】文字列の比較と&& と ||

Posted at

文字列の比較

例.java
number == 0

上記のようなコードがあったとします。
意味としては変数 number に 0 が代入され、右側の 0 と等しい という意味になります。

では文字の場合は・・・?:thinking:

例.java
fruit == "りんご"

になるんじゃないの??:thinking: と思ってしまいます。
じつは間違いです。
Java の場合は、文字列は == では比較できないということになっています。
ではどうするのかというと・・・

文字列の比較.
文字列型の変数.equals(比較相手の文字列)

となります:smile:
なのでさっきのコードは

例.java
fruit.equals("りんご")

となります:smile:

余談ですが、文字列に == を使ってもコンパイルエラーは起きません:sweat_smile:
ただ実行できるけど動きが変になるというタチの悪い不具合が起こります:sweat_smile:
コンパイルエラーが起きないだけにエラーをみつけるのが厄介になります:sweat_smile:

&& と ||

:sunny: && は 「女性かつ東京生まれ」など 2 つ以上の全ての条件を一致させたいときに使います。
:sunny: || は「女性または東京生まれ」など 条件のどれかにあてはまるものに一致させたいときに使います。

(例)20 歳以上 かつ 5 月生まれ

例.java
age >= 20 && month == 5

20 歳以上 かつ 5 月生まれ で条件が全て一致すれば true になり、それ以外だと false になります。

(例)20 歳以上 または 5 月生まれ

例.java
age >= 20 || month == 5

20 歳以上 または 5 月生まれ でどれにもあてはまらない場合は false となり、それ以外はすべて true になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0