文字列で判断

文字列が等しい?等しくない?

プロジェクトjava01、パッケージstep05にクラス「Handan3」を作成し、次のプログラムを入力してください。

入力が完了したら実行してください。そしてコンソールに「みかん」と入力してください。

プログラムを再実行してください。今度は「りんご」を入力してみてください。

入力した文字により表示されるメッセージが違います。既に気づかれたかと思いますが、16行目と19行目の条件によりメッセージを表示するか判断しています。

bはboolean型の変数で14行目で定義しています。boolean型とは2進数のことでtrue(真)かfalse(偽)の値しかもてません。

この変数bに値を設定しているのが、15行目になります。

equals命令が文字列が等しいか判定する命令です。命令の「.」の前に比較文字列1を記述しかっこ()の中に比較文字列2を記述します。

equals命令により同じ文字列ならtrue、違う文字列ならfalseが返され変数bに格納されます。そしてbの値を16行目、19行目で判断しています。

省略した記述方法

一般的にはbooleanを使用せずに次のように記述することが多いです。

14行目のif文の中にequals命令が書かれています。equals命令は文字列が等しい時にtrue(真)となるので、if文の条件が成立し、if文内の処理が実行されるのです。

17行目のif文の中にもequals命令が書かれていますが、その前に「!」があります。「!」は否定を意味しており、equals命令の判定を真から偽、偽から真に反転させます。

従って文字列が等しい時はtrue(真)が「!」によりfale(偽)となってif文内の命令は実行されません。逆に文字列が等しくない時はfalse(偽)が「!」によりtrue(真)となってif文内の命令は実行されます。

この部分が難しいと感じたならば、文字列比較をする際の定型的な書き方、として現段階では理解してください。進むにつれ理解が深まっていくはずです。

タイトルとURLをコピーしました