loops-e-arrays icon indicating copy to clipboard operation
loops-e-arrays copied to clipboard

Dúvida questão de prova

Open Raphacorrea opened this issue 3 years ago • 1 comments

Olá Camila tudo bem? Tenho uma dúvida do Boot Camp da DIO, se puder me ajudar. Tem uma questão que fala: If((10+15)<20) System.out.print("Verdade"); else System.out.print("Mentira"); Nesse caso eu tenho um operador aritmético no if e ele só poderia ser executado com boolean, não?

Outra questão a alternativa correta fala que Switch não avalia expressões booleanos. Porém em uma das alternativas tem a opção de que o IF não precisa de Else. Essa não deveria ser correta também?

Raphacorrea avatar Jul 12 '22 20:07 Raphacorrea

Oi, Rapha. Tudo bem?

Pergunta muito boa! Eu também já tive essa mesma dúvida que você. Deixa eu te explicar:

if((10+15)<20) //Se, for verdadeiro que 10 + 15 é menor que 20
System.out.print("Verdade"); //imprima 
else //se não
System.out.print("Mentira"); //imprima

Dentro do if, precisa ser um booleano sim, você está certissíma.

Mas quando passanos expressões, tipo essa (10+15)<20 faz sentido para você que o resultado é um boolean? Essa expressão, faz a pergunta: 10 + 15 é menor do que 20? Se a resposta for true (verdadeiro) eu quero que imprima "Verdade" se false, quero que imprima "Mentira".

Agora se a expressão fosse apenas 10+15 a resposta seria 25, logo não seria um boolean e iria apresentar um erro. Mas a expressão pergunta se (10+15) = 25 < 20. E a resposta é false, por isso que imprime "Mentira.

Deu pra entender? Se ainda não entendeu, pode falar que eu explico de outra forma.

cami-la avatar Jul 12 '22 23:07 cami-la