Duvida em "condição"

3 respostas
D

Porque esse código compila e funciona!? O que ele representa?

if((b1=true) && b2=false)

{

blabla

}

sendo b1 e b2 dois boolean’s… b1 = true e b2 = false

obrigado

3 Respostas

Y

Ele compila porque a sintaxe está correta (e outros adendos desnecessários à citação). Ele executa pq não ocorre nada de errado nele, nem na JVM.

Tecnicamente ele não representa nada a nós que estamos lendo um “blablabla” no lugar do bloco de execução, mas… acredito que as variáveis b1 e b2, em algum momento anterior do código devem estar sofrendo alterações por outras ações do código, o que faz com que o bloco “blablabla” execute somente se determinadas condições foram estabelecidas anteriormente no código.

Generalizando, da maneira que está o código é inútil, a questão se encontra “onde” e “porquê” ele está sendo usado.

— EDITED —
Eu li incorretamente o código acima, e então expressei uma idéia errônea neste meu post. O usuário postante abaixo está correto.

_Renatu

Então, ele compila e executa

Mas o conteudo do if nao é executado.

Quando você utiliza = você está atribuindo um valor à variavel.

Portanto você está atribuindo um valor true para b1 e false para b2, e comparando eles com AND. Portanto TRUE AND FALSE = FALSE, e o código nao procede dentro do if.

Se fosse utilizado o operador ==, estaria comparando b1 com valor true, e b2 com valor false.

if ( (b1==true) && b2==false)

Nesta condição, o conteúdo do if seria executado caso a variavel b1 fosse true E a variavel b2 fosse false.

LPJava

du123:
Porque esse código compila e funciona!? O que ele representa?

if((b1=true) && b2=false)

{

blabla

}

sendo b1 e b2 dois boolean’s… b1 = true e b2 = false

obrigado

compila pelo seguitne vc nao tá comparando se b1 == true vc ta dizendo que b1 = true e b2 = false(que b1 recebe true e b3 recebe false) entao isso é valido por isso que compila e a instrução {} eh executada…

cuidado com os operadores = e == qdo usar boolean… as vezes o cara se passa… :smiley:
so uma dica… qdo for postar algo e tiver uma sintaxe poe entre Code…

Criado 28 de janeiro de 2007
Ultima resposta 29 de jan. de 2007
Respostas 3
Participantes 4