Os atributos dentro do IF são alterados se eu utiliza "--" ou "++"?
Ainda assim não consegui entender como que ele vira 7.
Pra mim ele mostraria A56, pois os atributos não eram alterados fora do IF.
Os atributos dentro do IF são alterados se eu utiliza "--" ou "++"?
Ainda assim não consegui entender como que ele vira 7.
Pra mim ele mostraria A56, pois os atributos não eram alterados fora do IF.
Rodrigo ,
é o seguinte esse é o tipo de caso que precisa tomar muito cuidado e tem que fazer teste de mesa para entender .
vamos la o código é o seguinte :
class $_o0o_$ {
public static void main(String[] args) {
int $$ = 5;
int __ = $$++;
if (__ < ++$$ || __-- > $$)
System.out.print("A");
System.out.print($$);
System.out.print(__);
}
}
vamos la $$ = 5 , ok
para o a variavel __ ele atribui o valor de 5 e depois a variavel $$ incrementa e vira 6
então quando entra no if , temos $$ = 6 e __ = 5 .
vamos para o if :
se 5 < 7 ou 5 > 6
neste caso , o valor $$ que pré incrementa vale 7 , e a variavel __ pós -incrementa então ela ainda está valendo 5
imprime A porque 5 é menor que 7
sai do if e imprime o valor da variável $$ que é 7
A7
e __ ainda está valendo 5
imprime 5
então fica A75
e agora sim o __ está valendo 4
e encerra o programa .
conseguiu entender , não sei se conseguir expressar muito bem !!
Espero ter te ajudado .
Otima explicação Celso obrigado!
Mas não seria correto dizer que na verdade:
Por || ser um OU lógico, neste caso, o que vem depois do || não é processado (pois a primeira parte da avaliação é verdadeira). Então a variável __ nunca se torna 4?