3種類のif文
Javaのif文には以下の3つがあります。
- if文 (イフ)
- if–else文 (イフ エルス)
- if–else if–else文 (イフ エルスイフ エルス)
今回は「if-else if-else文」について取り上げます。
if-else if-else文
if-else if-else文は、複数の条件を一度に記述できる構文です。
if ( num <= 10 ) { //条件に合致した場合の処理 } else if ( num > 11 ) { //条件に合致した場合の処理 } else { //上記以外の場合の処理 }
上記のif-else if-else文では変数numが10以下の場合と、変数numが11より大きい場合、それ以外の場合の処理について記述できます。
if-else if-else文でも、if文と同様に「{}」を省略して記述することができます。
if ( num <= 10 ) //条件に合致した場合の処理 else if ( num > 11 ) //条件に合致した場合の処理 else //上記以外の場合の処理
また、if文と同様、「{}」を省略した場合、if文、else if文、else文の次の1行のみが実行されます。
例えば以下のコードを実行すると
int num = 12; if ( num <= 10 ) System.out.println("AAA"); else if ( num > 11 ) System.out.println("BBB"); else System.out.println("CCC"); System.out.println("DDD");
出力結果は以下の通りになります。
BBB DDD
上記のコードは以下コードと同じです。
int num = 12; if ( num <= 10 ){ System.out.println("AAA"); } else if ( num > 11 ) { System.out.println("BBB"); } else { System.out.println("CCC"); } System.out.println("DDD");
また、以下のコードはコンパイルエラーになります。
int num = 12; if ( num <= 10 ) System.out.println("AAA"); System.out.println("DDD"); else if ( num > 11 ) System.out.println("BBB"); else System.out.println("CCC");
int num = 12; if ( num <= 10 ) System.out.println("AAA"); else if ( num > 11 ) System.out.println("BBB"); System.out.println("DDD"); else System.out.println("CCC");
「{}」を省略した場合、条件分岐の対象となる処理は、if文、else if文、else文それぞれの次の1行のみとなります。
1つ目のコードではif文の下に2行の処理が記載されていますが、この時点でif-else if-else文の構文ではなくなり、else文を認識できずにコンパイルエラーになります。2つ目のコードでも同様の理由でコンパイルエラーが発生します。
if文、if-else文と同様、「{}」の省略は推奨されていませんが、省略する場合は、構文として成立するかにも注意が必要です。
コメント