Duvida no resultado

2 respostas
P

Olá pessoal,

o exemplo abaixo não entendi o resultado que é 8 …
Minha duvida no if quando tem & o que siginifica (and ou or) ?
E no for porque (z++ , x++) ?
Se alguém puder me ajudar agradeceria…

abs

class Ver {
	    public static void main(String [] args) {
	      int x = 0;
	      int y = 4;
	      for(int z=0; z < 3; z++, x++) {
	    	  
	        if(x > 1 & ++y < 10)
	          y++;
	      }
	      System.out.println(y);
	   }
	 }

2 Respostas

H

Quando tem ‘&’ significa ‘and’ e no 'for ’ z++ significa que a variavél z criada dentro do ‘for’ será incrementada ou seja será somado a ela o valor dela mesmo mais o de X++ que é o valor de x mais 1.

S

O for é composto de 3 partes e você pode ter quantos comandos quiser em cada uma delas (até mesmo nenhum).
Isso é um loop infinito:

for ( ; ; ; ) { ... }

Sobre o &, a diferença dele pro && é que este último é um operador curto-circuito. Numa expressão do tipo:

if (a && b)

Se ‘a’ for falso, a expressão toda é falsa e por isso o ‘b’ nem mesmo é calculado. Se usasse &, ele calcularia o ‘b’.

Isso aí só pode ser questão de certificação né?

Criado 26 de abril de 2006
Ultima resposta 26 de abr. de 2006
Respostas 2
Participantes 3