Javaの条件分岐~if-else文~

Java Silver

3種類のif文

Javaのif文には以下の3つがあります。

  • if文 (イフ)
  • ifelse文 (イフ エルス)
  • ifelse ifelse文 (イフ エルスイフ エルス)

今回は「if-else文」について取り上げます。

if-else文

if-else文は、条件式に合致した場合としなかった場合の両方の処理を記述できる構文です。

if ( num <= 10 ) {
  //条件に合致した場合の処理
} else {
  //条件に合致しなかった場合の処理
}

上記のif-else文では変数numが10以下の場合の処理と、それ以外の場合の処理について記述できます。

if-else文でも、if文と同様に「{}」を省略して記述することができます。

if ( num <= 10 )
  //条件に合致した場合の処理
else
  //条件に合致しなかった場合の処理

また、if文と同様、「{}」を省略した場合、if文、else文の次の1行のみが実行されます。

例えば以下のコードを実行すると

int num = 10;

if ( num <= 10 )
  System.out.println("AAA");
else
  System.out.println("BBB");
  System.out.println("CCC");

出力結果は以下の通りになります。

AAA
CCC

上記のコードは以下コードと同じです。

int num = 11;

if ( num <= 10 ){
  System.out.println("AAA");
} else {
  System.out.println("BBB");
}
System.out.println("CCC");

また、以下のコードはコンパイルエラーになります。

int num = 10;

if ( num <= 10 )
  System.out.println("AAA");
 System.out.println("BBB");
else
  System.out.println("CCC");

「{}」を省略した場合、条件分岐の対象となる処理は、if文、else文それぞれの次の1行のみとなります。

if文の下には2行の処理が記載されていますが、この時点でif-else文の構文ではなくなり、else文を認識できずにコンパイルエラーになります。

「{}」の省略は推奨されていませんが、省略する場合は、構文として成立するかにも注意が必要です。

コメント

タイトルとURLをコピーしました