Esse código não compila:
class A {
public static void main(String[] args) {
for(;false;) {
System.out.println("a");
break;
}
System.out.println("b");
}
}
Já esse compila:
public class A{
public static void main(String... args){
if(false){
System.out.println("");
}
System.out.println("fim");
}
}
Ambos contém códigos que não serão nunca executados. Por que o primeiro não compila e o segundo compila normalmente?