Olá galera estou tentando fazer um pequeno exercicio de while e só para tentar conhecer outros caminhos estou tentando fazer algo diferente.
Para entender melhor
O código normal é assim:
class While {
public static void main (String [] args) {
int idade = 15;
while (idade < 20) {
System.out.println (idade);
idade = idade + 1;
}
}
}
Gera uma numeração de 15 a 20 até aí tudo bem!
O que eu estou tentando fazer é:
Declarar a linha (idade=idade +1) dentro do System.out tipo: System.out.println (idade + 1);
E assim não ter que declara-la embaixo.
Tenho feito isso mas o programa entra num loop infinito.
Onde estou errando? 
Grato
Thebadshark
Olá,
Se você executar o código System.out.println(idade + 1) dentro do while, ele entrará em loop infinito pois a variável idade não está sendo incrementada e sempre mostrará:
[quote]16
16
16
16
16
INFINITO 
[/quote]
Por outro lado, você pode incrementar uma variável usando as formas prefixa e pósfixa de incremento, no seu caso, ++idade e idade++ respectivamente.
Usando a forma prefixa você terá o seguinte resultado:
public static void main (String [] args) {
int idade = 15;
while (idade < 20) {
System.out.println (++idade);
}
}
[quote]16
17
18
19
20
[/quote]
Usando o forma pósfixa você terá o seguinte resultado:
public static void main (String [] args) {
int idade = 15;
while (idade < 20) {
System.out.println (idade++);
}
}
[quote]15
16
17
18
19[/quote]
É bizarro mas vc pode fazer isso:
System.out.println (idade = idade + 1);
Isso porque em Java toda atribuição devolve o valor da atribuição.
Galera gostaria mais uma vez agradecer a todos que me ajudaram a solucionar mais essa dúvida.
Vlw