else if

else if文は、if文を拡張する制御構文。if文の条件式の値が「false」で、else if文の条件式の値が「true」の場合に実行する。

else if文は、複数続けることができる。後のelse if文は、前の全てのelse if文の条件式の値が「false」である場合のみ、評価する。

構文

else if文の基本的使い方。
ifelse入れ子(ネスト)の使い方については、各ページにて解説。

処理文が1文

波括弧で括る方法

if ( 条件式A ) {
 条件式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」のときに行う処理

処理文が複数

処理文が複数のときは、波括弧{}で括る必要がある。省略はできない。

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
}

サンプル

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より大きい。
処理文が複数の場合は、波括弧を省略できない。