Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Java: Operadores lógicos e aritmética inteira em condicional
Gabarito: letra D. A regra de negócio exige duas condições simultâneas (AND): média >= 8 E faltas < 25% das aulas. A alternativa D usa && (AND lógico em Java), < (estritamente menor) e 0.25 (double), atendendo corretamente. As demais falham no operador lógico (usam || - OR), no operador relacional (<= em vez de <), ou na aritmética inteira (25/100 resulta em 0, zerando o limite de faltas).
Alternativa A — ❌ Incorreta
Usa || (OR) em vez de AND. Com OR, bastaria uma das condições ser verdadeira para aprovar, contrariando a regra de negócio que exige ambas.
Alternativa B — ❌ Incorreta
Além de usar || (OR), inverte a condição da média para <= 8, o que aprovaria alunos com média até 8 (inclusive) quando o exigido é média >= 8. Duplo erro.
Alternativa C — ❌ Incorreta
Emprega AND (não é operador Java; em Java o AND lógico é &&). Também usa <= (menor ou igual) no lugar de < (estritamente menor), aprovando alunos com exatamente 25% de faltas, quando a regra exige "abaixo de 25%".
Alternativa D — ✅ Correta ⟵ GABARITO
Usa && (AND lógico com curto-circuito), < (estritamente menor) e 0.25 (double). Atende perfeitamente: média >= 8 E faltas < 25% das aulas.
Alternativa E — ❌ Incorreta
Usa & (bitwise AND, que em booleanos funciona mas não é o idiomático) e <= em vez de <. Além disso, a expressão 25/100 é divisão de inteiros, resultando em 0. Assim, qtdFaltas < qtdAulas * 0 equivale a qtdFaltas < 0, condição impossível para faltas (não negativas) — nunca aprovaria ninguém.
NÃO CAIA NESSA!
A banca explora dois tropeços comuns em Java: (1) a divisão inteira 25/100 vale 0, não 0.25 — para obter double, use 25.0/100 ou 0.25 diretamente; (2) confundir && (AND lógico) com & (AND bitwise) ou com || (OR). Memorize: toda vez que a regra de negócio exigir "os dois ao mesmo tempo", o operador Java é &&.