比較演算子は、2つの式を評価して真か偽の値を出すもので、
いくつかの種類があります。
関係演算子
関係演算子には、< > <= >= の4つと instanceof があります。
1 < 3 真となる。
3 < 1 偽となる。
5 > 1 真となる。
1 > 5 偽となる。
3 <= 3 真となる。
5 <= 3 偽となる。
8 >= 8 真となる。
5 >= 8 偽となる。
instanceof演算子は、参照型の変数のデータ型を比較します。
if (data instanceof int[]) dataがint型配列を指すなら真
if (data instanceof myclass) dataがmyclass型を指すなら真
if (data instanceof String) dataがString型を指すなら真
等価演算子
等価演算子には、== != の2つがあり、
2つの値が等しいかどうかを判定し、真か偽の値を出します。
1 == 1 真となる。
3 == 1 偽となる。
5 != 1 真となる。
5 != 5 偽となる。
スポンサーリンク
等価演算子による参照型変数の比較
参照型変数(クラス、配列)は、
そのデータ型を指すアドレス値が格納されています。
そのアドレス値同士を比較しても、
そのアドレスが指すオブジェクトの中身のデータ
の比較をしている事にはなりません。
例としてString型の比較について説明します。
String strData1="java", strData2="java2";
if (strData1 == strData2)
このプログラムはString型のstrData1とstrData2を比較していますが、
文字列”java”と”java2″を比較しているワケではありません。
これは、strData1のアドレス値とstrData2のアドレス値を比較しています。
中身の比較をしたい場合は、
String型のequals関数を使えば実現できます。
String strData1="java", strData2="java";
if ( strData1.equals(strData2) )