Duvida sobre boolean

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);
	    }
}

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

certo:

[code]boolean b = true;

if(b){

}[/code]

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.:

[code]boolean b = false;

if(b = true){
System.out.println(“Sempre vai entrar aqui…”);
}[/code]

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…

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”…