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 "&&"??
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!