Operador & e &&

4 respostas
ricardolecheta

boa esta questão… o que imprime?

public class TimDig{
    public static void main(String argv[]){
	TimDig td = new TimDig();
	td.samcov();
    }
    public void samcov(){
	int i=1;
	int j=2;
	if((i==20) &&  (j==(i=i*2))){
	}

	System.out.print(i);
	if((i==20) & (j==(i=i*2))){}
	System.out.print(i);

	int x = i & 2;
	System.out.print(x);
    }	
}

4 Respostas

B

Também acho que é 122

leonardom

Brilhante explicação New__Radical

ricardolecheta

é exatamente assim mesmo, muito bem! :smiley:

N

Imprime 122

O operador && é de curto circuito, isto é, quando o primeiro teste falha, ele não testa o segundo.

Já o operador & não é de curto circuito. Ele testa as 2 condições independentemente se a primeira é falsa.

O operador bit a bit & verifica os bits. Se ambos forem 1, então no final será 1, se forem diferentes, então será 0.

Criado 22 de outubro de 2003
Ultima resposta 22 de out. de 2003
Respostas 4
Participantes 4