Por que o Java identifica código inacessível apenas no caso do loop while? [duplicado
Esta pergunta já tem uma resposta aqui:
if (false) vs. while (false): código inacessível vs. código morto 2 respostasSe eu tiver código como
public static void main(String args[]){
int x = 0;
while (false) { x=3; } //will not compile
}
compiler irá reclamar quex=3
é código inacessível, mas se eu tiver um código como
public static void main(String args[]){
int x = 0;
if (false) { x=3; }
for( int i = 0; i< 0; i++) x = 3;
}
; então, compila corretamente o código dentro deif statement
efor loop
é inalcançavel. Por que essa redundância não é detectada pela lógica do fluxo de trabalho java? Algum caso de uso?