文字と文字列の比較
数値の比較では、>や<などを使って比較することができましたが、文字列の場合は大小を比較することはできません。また、==や!=で等しいかどうかを判定することもできません。文字列の比較では、「equals」メソッドを使用します。
文字と文字列の比較 目次
1.文字(char)を比較するには
文字(char)は、実際には文字コードという値が格納されていますので、値の大小で比較することができます。
package pac01; public class HelloWorld { public static void main(String[] args) { char char1 = 'a'; char char2 = 'b'; System.out.println(char1 > char2); System.out.println(char1 < char2); } } --------------------------------------------------------------- false true
2.文字列(String)を比較するには
文字列(String)を比較するには、値の大小ではなく、equalsメソッドを使用します。イコール(=)と言うくらいですので、文字列が等しいかどうかを判定するのに使用します。equalsメソッドは、Stringクラスが保有しているメソッドで、次の様に記述します。
String型変数A.equals(String型変数B)
String型変数に「.equals」を続けます、そして()の中に比較対象のString型変数をそのまま指定します。この計算式は、「String型変数AとString型変数Bが等しいかどうか」という内容になりますので、等しい場合はtrueが、等しくない場合はfalseが返ります。
package pac01; public class HelloWorld { public static void main(String[] args) { String strHensu1 = "あ"; String strHensu2 = "い"; String strHensu3 = "あ"; boolean blnEquals = false; // strHensu1とstrHensu2が等しいか blnEquals = strHensu1.equals(strHensu2); System.out.println(blnEquals); // strHensu1とstrHensu3が等しいか blnEquals = strHensu1.equals(strHensu3); System.out.println(blnEquals); } } -------------------------------------------------------------- false true
11行目では、”あ”と”い”の文字列が等しいかどうかを比較しています。結果はもちろん等しくないのでfalseになっていることが分かります。16行目は、今度は”あ”と”あ”を比較しているので、結果はtrueになっていることが分かります。
等しいかどうかの判定ですので、比較する方とされる方は逆に書いても同じ結果になります。
最近のコメント