Questão de Programação — Java — Quadrix 2025
- Código
- qg595102
- Banca
- Quadrix
- Órgão
- CFO
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Tecnologia da Informação
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: ✅ CERTO. O Java é uma linguagem de tipagem estática e forte: os tipos das variáveis devem ser declarados em tempo de compilação, o que permite a detecção precoce de erros e aumenta a segurança do código. Essa característica é amplamente reconhecida na literatura e em materiais de programação, sendo um dos pilares da linguagem.
A tipagem de uma linguagem de programação diz respeito a como os tipos de dados são tratados e verificados. Quando dizemos que uma linguagem é estaticamente tipada, significa que o tipo de cada variável é conhecido e fixado em tempo de compilação — ou seja, antes mesmo de o programa rodar, o compilador já sabe se você está tentando usar um inteiro como se fosse texto, por exemplo. Isso contrasta com a tipagem dinâmica, em que o tipo é determinado em tempo de execução, como ocorre em Python, JavaScript e Ruby.
Já a tipagem forte refere-se à rigidez das operações entre tipos: em uma linguagem fortemente tipada, não é possível realizar operações entre tipos incompatíveis sem uma conversão explícita (cast). Por exemplo, em Java, você não pode somar um int com uma String diretamente — o compilador acusará erro. Isso evita uma série de bugs sutis que ocorrem em linguagens de tipagem fraca, como JavaScript, onde "5" + 3 resulta em "53" (concatenação) em vez de erro.
O Java combina essas duas características: é estática (tipos definidos na declaração) e forte (operações entre tipos incompatíveis exigem conversão explícita). Essa combinação traz benefícios claros: maior segurança, pois muitos erros são capturados ainda na compilação; melhor desempenho, pois o compilador pode otimizar o código sabendo os tipos; e maior legibilidade, pois o tipo declarado documenta a intenção do programador.
Um exemplo prático: ao declarar int idade = 25;, o compilador sabe que idade só pode armazenar números inteiros. Se você tentar idade = "vinte e cinco";, o compilador acusará erro imediatamente, antes de executar o programa. Em uma linguagem de tipagem dinâmica, isso só seria descoberto em tempo de execução, possivelmente causando uma falha inesperada.
A banca explora aqui uma confusão comum: quem está acostumado com linguagens de tipagem dinâmica pode achar que "definir o tipo em tempo de compilação" é algo negativo ou que não se aplica ao Java. Mas o enunciado está perfeitamente alinhado com a definição técnica de tipagem estática. A pegadinha é justamente essa: o candidato pode achar que a afirmação é falsa por pensar em linguagens dinâmicas, mas o Java é um exemplo clássico de tipagem estática e forte.
A banca apela para quem confunde tipagem estática com tipagem dinâmica. Se você pensou em Python ou JavaScript, onde o tipo é definido em tempo de execução, pode ter achado que a afirmação estava errada. Mas o Java é exatamente o oposto: os tipos são definidos na declaração, em tempo de compilação. Lembre-se: estática = tempo de compilação; dinâmica = tempo de execução.
A afirmação está correta. O Java é uma linguagem de tipagem estática e forte, conforme descrito no enunciado. Os tipos das variáveis devem ser declarados explicitamente no código-fonte, e o compilador verifica a compatibilidade dos tipos antes da execução. Isso garante maior segurança e detecção precoce de erros, exatamente como afirmado.
Gabarito: ✅ CERTO
Link permanente: /questoes/qg595102