Utilizei uma condição só com um & conforme o código a baixo
if ( 18 < imc & imc < 40){
mostra(nome + " seu IMC está dentro do esperado!");
}
e o mesmo funcionou normalmente.
Qual é a diferença do "&" e o "&&"??
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Utilizei uma condição só com um & conforme o código a baixo
if ( 18 < imc & imc < 40){
mostra(nome + " seu IMC está dentro do esperado!");
}
e o mesmo funcionou normalmente.
Qual é a diferença do "&" e o "&&"??
Oi Rafael, tudo bem ?
Então cara, é bem sútil a diferença.
Pensa no seguinte o imc vale 17, tranquilo ?
Logo na primeira comparação, o resultado seria false ok ?
E como estamos utilizando uma condição composta, ambas deveriam ser true para entrar.
Ai que vem a sacada, quando a gente usa com apenas & o que vai acontecer em tempo de execução é o seguinte : os dois lados são comparados, dando false e true, como existe um false não entra no if.
Agora, quando a gente usa &&, o que vai rolar é: a primeira comparação é executada e vai dar false, nisso ele já é mais espertinho e fala, se sei que não vou entrar nem vou comparar o outro lado, ele simplesmente ignora a segunda sentença.
Espero ter ajudado
Opa, ajudou sim Matheus, obrigado pela dica!