Error de declaración inalcanzable usando while loop en java [duplicado]
Posible duplicado:
¿Por qué este código da un error de "Declaración inaccesible"?
Esta pregunta parece muy fácil, encontré esta pregunta en un libro. Si alguien me ayuda a averiguar por qué me estoy equivocando.
do {
System.out.print("inside do");
} while (false);
while (false) { // error
System.out.print("inside while");
}
System.out.print("outside");
Pensé, y según mi opinión, la salida debería serdentro de dooutside. Pero, se está mostrandoError del compilador: Declaración inalcanzable. Entonces, traté de averiguar, por qué, se está mostrandoError de compilación: Declaración inalcanzable * . Entonces, cambio el código anterior como este
boolean i = false;
do {
System.out.print("inside do");
} while (false);
while (i) { // ok
System.out.print("inside while");
}
System.out.print("outside");
Ahora, está mostrando el resultado esperado, es decir,dentro de dooutside . Entonces, mi pregunta es: ¿qué hace la diferencia en el primer y segundo caso? Además, cuando compruebo
if(false){
//something here
}
Entonces, el código anterior se ejecuta sin ningún error.