次のスニペットのコードは問題なく動作します。int
タイプがの静的フィールドを使用して作成されたオブジェクトの数をカウントしますcnt
。
public class Main
{
private static int cnt;
public Main()
{
++cnt;
}
public static void main(String[] args)
{
for (int a=0;a<10;a++)
{
Main main=new Main();
}
/*for (int a=0;a<10;a++)
Main main=new Main();*/
System.out.println("Number of objects created : "+cnt+"\n\n");
}
}
次の出力が表示されます。
Number of objects created : 10
for
唯一の問題は、上記のループ (コメント付きのループを参照)から中括弧のペアを削除すると、次for
のことを示すコンパイル時エラーが発生することです。
声明ではありません。
この特定の状況で、ループにステートメントが 1 つしか含まれていないにもかかわらず、中かっこのペアが必須なのはなぜですか?