次のコード ブロックでは、コンパイル時エラーが発生します。
while(false)
{
System.out.println("HI");
}
エラーは、到達不能なステートメントがあることを示しています。しかし、次のコードはコンパイルされます
boolean b=false;
while(b)
{
System.out.println("Hi");
}
私が考えることができたのはこれだけでした-> case-1 as false はリテラルであるため、コンパイラは到達不能であり、case 2 変数 b の while 条件ブロックは実行時にチェックされるため、コンパイルエラーはありませんか?