2

このコードが正しく動作するのはなぜですか? 複数行のループ本体には常に中括弧を付ける必要があると言われました

public class Sample {

    public static void main(String[] args)
    {
        int[] nums = {1,2,3,4,5,6,7,8,9,10};

        // print out whether each number is
        // odd or even
        for (int num = 0; num < 10; num++)
            if (num % 2 == 0)
                System.out.println(num + " is even");
            else
                System.out.println(num + " is odd");
    }
}
4

4 に答える 4

6

複数のステートメント(複数行ではない)を使用する場合は、中かっこが必要です。
ただし、常に中括弧を使用することをお勧めします。
これにより、後でステートメントを追加する際のバグを回避できます。

于 2013-08-12T20:33:08.993 に答える
1

ループにステートメントが 1 つしかない場合、中括弧を追加してもコードには影響しません。他の人が上で述べたように、 if else 一緒に、else if を間に挟んだ 1 つのステートメントと見なされます。ただし、中かっこなしでは複数のステートメントは実行されません。

for (int i=0;i<5;i++)
   if (i<4)
   System.out.println("Hurray");
   System.out.println("Alas");

出力

Hurray
Hurray
Hurray
Hurray
Alas     //Exited the loop here
于 2013-08-12T20:49:55.727 に答える