if文の入れ子(ネスト)

if ~ else if ~ else ~は、入れ子(ネスト)にして使うことができる。

構文

if文、else if文、else文、それぞれの中に、if ~ else if ~ else ~を入れる。

if ( 条件式A ) {
 条件式Aが「true」のときに行う処理
 if ( 条件式C ) {
  条件式Aが「true」で、条件式Cが「true」のときに行う処理
 } else if ( 条件式D ) {
  条件式Aが「true」で、条件式Cが「false」、条件式Dが「true」のときに行う処理
 } else {
  条件式Aが「true」で、条件式Cと条件式Dが「false」のときに行う処理
 }
} else if ( 条件式B ) {
 条件式Aが「false」で、条件式Bが「true」のときに行う処理
} else {
 条件式Aと条件式Bが「false」のときに行う処理
 if ( 条件式E ) {
  条件式Aと条件式Bが「false」で、条件式Eが「true」のときに行う処理
 } else if ( 条件式F ) {
  条件式Aと条件式Bが「false」で、条件式Eが「false」、条件式Fが「true」のときに行う処理
 } else {
  条件式Aと条件式Bが「false」で、条件式Eと条件式Fが「false」のときに行う処理
 }
}

サンプル

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
package samplePackage;

public class SampleClass {

 public static void main( String[] args ){

  int $varA = 30;
  int $varB = 50;
  int $varC = 80;
  int $varD = 20;
  String $varE = "サンプル";

  if ( $varA > $varB ) {
   System.out.println( $varA + "は" + $varB + "より大きい。" );
   if ( $varA > $varC ) {
    System.out.println( $varA + "は" + $varC + "よりも大きい。" );
   } else if ( $varA < $varC ) {
    System.out.println( $varA + "は" + $varC + "よりは小さい。" );
   }
  } else if ( $varA == $varB ) {
   System.out.println( $varA + "と" + $varB + "は等しい。" );
  } else {
   System.out.println( $varA + "は" + $varB + "より小さい。" );
   if ( $varA < $varD ) {
    System.out.println( $varA + "は" + $varD + "よりも小さい。" );
   } else if ( $varA > $varD ) {
    System.out.println( $varA + "は" + $varD + "よりは大きい。" );
    if ( $varE.length() > 0 ) {
     System.out.println( $varE );
    }
   }
  }

 }

}

実行結果

30は50より小さい。
30は20よりは大きい。
サンプル