if文if文プログラムの処理を条件により分岐させることができます。この分岐は、「もし、今日が平日ならば仕事に行く」というように、日常でも「もし、~であれば、~する」という場面が多くあります。それをプログラムで表現するために使用できる命令文として、if文があります。ファイル次のようにファイルを作成してください。プログラム次のようにプログラムを入力してください。br.readLine();//平日の場合、メッセージを表示if(str.equals("平日")){System.out.println("今日は仕事があります。今日は仕事があります。今回のサンプルから、キーボード入力が登場します。キーボード入力をさせるためにいくつかプログラムを書く必要がありますが、詳しくはオブジェクト指向編で説明します。キーボード入力で関係するプログラムは、4、9、12行です。Exception」が追加されています。InputStreamReader(System.in));」が書かれていますが、これがキーボード入力をするための記述です。13行目で「br.readLine()」がありますが、これが実行されるとキーボード入力待ち状態になり、入力した文字列が変数strに代入されます。16行目で変数strと「平日」という文字列を比較しています。等しいかどうかを比較するときJavaでは、「=」や「==」で比較するのではなく、「変数名.equals([比較する文字列])」と書き、等しい場合は「true」を、等しくない場合は「false」を返します。今回は、「平日」を入力すると「今日は仕事があります。」と表示し、そのほかを入力した場合は何もしません。次に、「もし、今日が平日ならば仕事に行く、その他の場合は、遊びに行く」というような、「もし、~であれば、~をし、その他の場合は、~する」という条件を見てみましょう。ファイル「IfTest1.java」をコピーして、次のようにファイルを作成してください。プログラム次のようにプログラムを入力してください。br.readLine();//入力データによって処理を分岐if(str.equals("平日")){System.out.println("今日は仕事があります。");}else{System.out.println("今日は遊びに行きましょう。今日は仕事があります。今日は遊びに行きましょう。解説15行目で入力したデータを比較しています。条件として変数strに格納されているデータが「平日」と等しければ、16行目の命令文で画面に表示されます。17行目でelse文が記述されているので、条件が満たされない場合は18行目の命令文でメッセージが表示されます。入力内容によって「今日は仕事があります。」か「今日は遊びに行きましょう。今回のサンプルでは「平日」と入力されれば「今日は仕事があります。」と表示され、それ以外を入力すると「今日は遊びに行きましょう。次に、「もし、今日が平日ならば仕事に行く、その他もし、休日ならば遊びに行く、その他の場合は、なにもしない」というような、「もし、~であれば、~をし、その他もし~であれば、~をし、その他の場合は、~する」という条件を見てみましょう。ファイル「IfTest2.java」をコピーして、次のようにファイルを作成してください。プログラム次のようにプログラムを入力してください。br.readLine();//入力データによって処理を分岐if(str.equals("平日")){System.out.println("今日は仕事があります。if(str.equals("休日")){System.out.println("今日は遊びに行きましょう。");}else{System.out.println("今日は家でおとなしくしていましょう。今日は仕事があります。今日は遊びに行きましょう。今日は家でおとなしくしていましょう。解説15行目で入力したデータを比較しています。条件として変数strに格納されているデータが「平日」と等しければ、16行目の命令文で画面に表示されます。if」文が記述されているので、さらに入力データを比較しています。条件として変数strに格納されているデータが「休日」と等しければ、18行目の命令文で画面に表示されます。19行目で「else」文が記述されているので、条件が満たされない場合は20行目の命令文でメッセージが表示されます。if」文は複数指定することができます。「else」文は省略することもできます。次に条件文に複数の条件を指定する方法を見てみましょう。複数の条件を組み合わせて一つの条件として扱います。その方法として「論理積」と「論理和」があります。「論理否定」も確認してみましょう。論理積は複数の条件のいずれも満たされる場合に真と判断されます。ファイル次のようにファイルを作成してください。プログラム次のようにプログラムを入力してください。12){System.out.println("小学生です。");}else{System.out.println("小学生ではありません。年齢を入力してください:8小学生です。--------------------------------------------------------------------------------------------------------------------年齢を入力してください:13小学生ではありません。解説13行目で年齢を入力しています。キーボードから入力したデータは文字列ですが、整数値として扱いたい場合は、「Integer.parseInt()」を実行します。()の中に整数値に変換したい数字を指定します。16行目で入力した年齢が6歳以上かつ12歳以下かどうかを判断しています。その範囲内にあれば条件が「true」と判断されて17行目が実行されます。範囲外であれば19行目が実行されます。論理和は複数の条件のいずれかが満たされる場合に真と判断されます。ファイル次のようにファイルを作成してください。プログラム次のようにプログラムを入力してください。vehicle.equals("オートバイ")){System.out.println("公共交通機関をご利用ください。公共交通機関をご利用ください。--------------------------------------------------------------------------------------------------------------------乗り物を入力してください:オートバイ公共交通機関をご利用ください。解説16行目で入力した乗り物が「車」か「オートバイ」であれば、17行目が実行されてメッセージが表示されます。それ以外の場合は何も処理されません。論理否定は真の時には偽と、偽の時には真と判断されます。ファイル次のようにファイルを作成してください。プログラム次のようにプログラムを入力してください。br.readLine();//雨でないかどうかif(!(weather.equals("雨"))){System.out.println("傘は必要ありません。");}else{System.out.println("傘が必要です。晴れ・曇り・雨のいずれかを入力してください:晴れ傘は必要ありません。--------------------------------------------------------------------------------------------------------------------晴れ・曇り・雨のいずれかを入力してください:曇り傘は必要ありません。解説16行目で、入力した天気が「雨」でなければ、17行目が実行されてメッセージが表示されます。「雨」の場合は19行目が実行されてメッセージが表示されます。