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
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
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.
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.
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… 
so uma dica… qdo for postar algo e tiver uma sintaxe poe entre Code…