Observe o trecho de código Java a seguir: boolean x, y, z; ...
boolean x, y, z; // ... if (!x && y && !z) System.out.println("SIM"); else System.out.println("NAO");
A mensagem impressa na tela será “SIM” somente quando o valor das variáveis x, y e z forem, respectivamente:
A condição é executada se todos as variáveis booleanas são verdadeiras.
A exclamação antes da variável é o inverso do seu valor, ou seja se x = true !x= false.
!x = false então será true
y = já é true
!z = false então será true
Resposta letra A) false, true e false
Gabarito: Letra A - false, true e false.
Para resolver esta questão, é necessário entender a estrutura condicional if-else e os operadores lógicos na linguagem de programação Java. O trecho de código apresenta uma condição composta utilizando os operadores de negação (!), conjunção (&&) e as variáveis booleanas x, y e z.
O if verifica se a expressão !x && y && !z é verdadeira (true). O operador de negação (!) inverte o valor da variável booleana, ou seja, se x ou z forem true, o valor se tornará false após a negação. O operador de conjunção (&&) exige que todas as condições sejam verdadeiras para que o resultado total da expressão seja true.
Para que a mensagem "SIM" seja impressa, a condição precisa ser verdadeira, o que só ocorre se:
- x for false (pois está negado na condição, então !false é true)
- y for true (já que precisa de um valor verdadeiro para y)
- z for false (pois está negado na condição, então !false é true)
Portanto, ao analisarmos as alternativas, somente a Letra A - false, true e false satisfaz completamente a condição, fazendo com que a expressão do if seja avaliada como true e, consequentemente, a mensagem "SIM" seja impressa na tela.
Conhecimentos sobre a precedência e associatividade dos operadores também são relevantes, mas neste caso, a expressão é direta e não há parênteses que alterem a ordem de avaliação. É só lembrar que o operador de negação tem uma precedência mais alta do que o operador de conjunção, portanto, as negações são avaliadas antes das conjunções na expressão booleana.