else if文は、if文を拡張する制御構文。if文の条件式の値が「false」で、else if文の条件式の値が「true」の場合に実行する。
else if文は、複数続けることができる。後のelse if文は、前の全てのelse if文の条件式の値が「false」である場合のみ、評価する。
構文
else if文の基本的使い方。
if、else、入れ子(ネスト)の使い方については、各ページにて解説。
処理文が1文
波括弧で括る方法
if ( 条件式A ) {
条件式Aが「true」のときに行う処理
} elseif ( 条件式B ) {
条件式Aが「false」で、条件式Bが「true」のときに行う処理
} elseif ( 条件式C ) {
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理
}
条件式Aが「true」のときに行う処理
} elseif ( 条件式B ) {
条件式Aが「false」で、条件式Bが「true」のときに行う処理
} elseif ( 条件式C ) {
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理
}
波括弧を省略した方法
if ( 条件式A )
条件式Aが「true」のときに行う処理
elseif ( 条件式B )
条件式Aが「false」で、条件式Bが「true」のときに行う処理
elseif ( 条件式C )
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理
条件式Aが「true」のときに行う処理
elseif ( 条件式B )
条件式Aが「false」で、条件式Bが「true」のときに行う処理
elseif ( 条件式C )
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理
処理文が複数
処理文が複数のときは、波括弧{}
で括る必要がある。省略はできない。
if ( 条件式A ) {
条件式Aが「true」のときに行う処理1
条件式Aが「true」のときに行う処理2
} elseif ( 条件式B ) {
条件式Aが「false」で、条件式Bが「true」のときに行う処理1
条件式Aが「false」で、条件式Bが「true」のときに行う処理2
} elseif ( 条件式C ) {
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理1
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理2
}
条件式Aが「true」のときに行う処理1
条件式Aが「true」のときに行う処理2
} elseif ( 条件式B ) {
条件式Aが「false」で、条件式Bが「true」のときに行う処理1
条件式Aが「false」で、条件式Bが「true」のときに行う処理2
} elseif ( 条件式C ) {
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理1
条件式Aと条件式Bが「false」で、条件式Cが「true」のときに行う処理2
}
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package samplePackage; public class SampleClass { public static void main( String[] args ){ int $varA = 5; int $varB = 3; System.out.println( "【処理文が1文&波括弧で括る】" ); // 処理文が1文。波括弧で括る。 if ( $varA < $varB ) { System.out.println( $varA + "は" + $varB + "より小さい。" ); } else if ( $varA > $varB ) { System.out.println( $varA + "は" + $varB + "より大きい。" ); } System.out.println( "【処理文が1文&波括弧を省略】" ); // 処理文が1文。波括弧を省略。 if ( $varA < $varB ) System.out.println( $varA + "は" + $varB + "より小さい。" ); else if ( $varA > $varB ) System.out.println( $varA + "は" + $varB + "より大きい。" ); // 処理文が複数。 if ( $varA < $varB ) { System.out.println( "【処理文が複数】" ); System.out.println( $varA + "は" + $varB + "より小さい。" ); System.out.println( "処理文が複数の場合は、波括弧を省略できない。" ); } else if ( $varA > $varB ) { System.out.println( "【処理文が複数】" ); System.out.println( $varA + "は" + $varB + "より大きい。" ); System.out.println( "処理文が複数の場合は、波括弧を省略できない。" ); } } } |
実行結果
【処理文が1文&波括弧で括る】
5は3より大きい。
【処理文が1文&波括弧を省略】
5は3より大きい。
【処理文が複数】
5は3より大きい。
処理文が複数の場合は、波括弧を省略できない。
5は3より大きい。
【処理文が1文&波括弧を省略】
5は3より大きい。
【処理文が複数】
5は3より大きい。
処理文が複数の場合は、波括弧を省略できない。