!!! 第一章 Java プログラミングの基礎 !! 1-3. Javaプログラムの基礎 ! if-else 文 if-else は条件分岐処理の最も基本的な文です。文法は次のようになっています。 if (expression) statement1 else statement2 まず最初に「expression」が評価されます。「expression」は boolean または Booleanクラスである必要があります。要するに評価した結果が真か偽で返される必要があるということです。「expression」が真の場合には文「statement1」が実行されます。偽の場合には文「statement2」が実行されます。「else」とそれに続く「statement2」は省略することも可能です。 例を示しましょう。 ''Sample11.java'' {{pre num public class Sample11{ public static void main( String[] args){ int a = 10; int b = 5; System.out.println( "a = " + a + ", b = " + b); if( b > a) System.out.println( "b > a"); else System.out.println( "b <= a"); } } }} このプログラムでは expression が b > a で、statement1 が System.out.println( "b > a") 、statement2 が System.out.println( "b <= a") です。 いま、 a = 10 、 b = 5 としているので「expression」の評価は偽となります。つまり「statement2」が実行されるはずです。実際の実行結果を見てみましょう。 C:\jprogram>java Sample11 a = 10, b = 5 b <= a 確かに「statement2」で命令している b <= a が出力されていますね。 さて、さきほど文が記述できるところにはブロックを用いることができると書きました。ということは 「statement1」や「statement2」はブロックでも構わないわけです。実際にやってみましょう。 ''Sample12.java'' {{pre num public class Sample12{ public static void main( String[] args){ int a = 10; int b = 5; System.out.println( "a = " + a + ", b = " + b); if( b > a){ System.out.println( "expression1 executed."); System.out.println( "b > a"); } else{ System.out.println( "expression2 executed."); System.out.println( "b <= a"); } } } }} 文を書くべきところにブロック { 文1; 文2; ... } を記述しました。実行結果は次のようになります。 C:\jprogram>java Sample12 a = 10, b = 5 expression2 executed. b <= a 確かに「statement2」に相当するブロックが実行されました。 さて、もうひとつ注目したいのは if-else それ自体も文であるということです。ということは「statement 」に if-else を持ってきても良いということです。次のように if-else の連鎖をさせることも可能です。 if ( expression1 ) statement1 else if ( expression2 ) statement2 else if (expression3 ) statement3 ... else if ( expressionN-1 ) statementN-1 else statementN 分岐先が複数ある場合に良く使われるので、こんな書き方もできるんだということを覚えておいてください。