Duvida sobre boolean

2 respostas
P

Olá pessoal ,

uma duvida porque quando se compara uma variável boolean com if usando == ou =

sempre retorna true ?

Quem puder me ajudar agradeceria …

abs …

class Test2 {
	     public static void main(String [] args) {
	       boolean x = true;
	       boolean y = false;
	       short z = 42;
	 
	       
	       if((x == true) && (y = true))  {
	    	   z++;
	       }

	       if((y == true) || (++z == 44)) {
	    	   z++;
	       }
	       
	       
	      System.out.println("z = " + z);
	    }
}

2 Respostas

J

1º - Comparar variavel boolean com == 8O onde você já viu isso?

certo:

boolean b = true;

if(b){

}

2º = é operador de atribuição, se fizer if(b = true) b vai ser true porque você está atribuindo true pra ela dentro do if...

ex.:

boolean b = false;

if(b = true){
   System.out.println("Sempre vai entrar aqui...");
}

Se quer comparar vc tem que usar ==, um operador é completamente diferente do outro, apesar da semelhança dos simbolos...

Mas não faça essa comparação pois você está matando o sentido de um tipo boolean...

S

Comparar boolean com == é o mesmo que fazer algo do tipo:

if ( (a > 1) == true)

Não tem sentido mesmo.

Mas acho que sua dúvida mesmo é nessa linha:

if((y == true) || (++z == 44)) {

A primeira condição é falsa, mas a segunda é verdadeira. Como você usou “ou”…

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