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