1-3 ブロックの問題
次のコードを確認してください。
class BlockTest{
public static void main(String args[]){
int num = 3;
if(!(num > 3)){
System.out.print("abc");
}
{
System.out.print("defg");
}
System.out.print("…");
}
}
このコードをコンパイル、および実行すると、どのような結果になりますか。
1つ選択してください。
A.abc
B.defg…
C.abcdefg
D.abcdefg…
E.コンパイルエラーが発生する
《解説》
ブロックについての問題です。
3行目で宣言した変数numの値が3のため、4行目の!( num > 3) はtrue判定になり、 5行目で「abc」と出力されます。
6行目の}によりifブロックが終了し、7~9行目のブロック内の処理は、if文の判定結果にかかわらず実行されます。
よって、8行目で 「defg」と出力されます。
10行目も引き続き処理されるため「…」と出力されます。したがって、実行結果は「abcdefg…」と出力されるため、選択肢Dが正解です。
《答え》D