Questão de Programação — Linguagens de programação — Quadrix 2025
- Código
- qg595104
- Banca
- Quadrix
- Órgão
- CFO
- Ano
- 2025
- Nível
- Médio
- Cargo
- Técnico em Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: ERRADO. Java suporta tipos de dados primitivos — como int, char e boolean — além dos tipos por referência (objetos). A afirmação inverte completamente a realidade da linguagem, que é justamente conhecida por ter um conjunto fixo de oito tipos primitivos. Essa é uma pegadinha clássica de conceitos básicos de Java.
Java é uma linguagem estaticamente tipada e fortemente tipada, o que significa que toda variável precisa ter um tipo definido em tempo de compilação. Para valores simples como números inteiros, caracteres e booleanos, Java oferece tipos primitivos que armazenam o valor diretamente na memória (por valor), sem a necessidade de criar objetos. Por exemplo, int idade = 30; declara uma variável primitiva que guarda o valor 30 diretamente. Já Integer idade = 30; cria um objeto da classe wrapper Integer, que encapsula o valor e oferece métodos utilitários.
A confusão que a banca explora aqui é a existência das classes wrapper (Integer, Character, Boolean, etc.), que são objetos e podem ser usadas em coleções genéricas (como List<Integer>). Mas isso não elimina os tipos primitivos — eles continuam existindo e sendo amplamente utilizados por questões de desempenho e simplicidade. A linguagem oferece ambos: primitivos para eficiência e wrappers para quando se precisa de objetos (por exemplo, em coleções ou para representar null).
Na prática, um programador Java escreve int x = 5; o tempo todo, sem criar nenhum objeto. A afirmação do enunciado, portanto, é falsa: Java não é obrigado a usar apenas objetos; ele suporta primitivos e os utiliza normalmente.
A banca tenta confundir o candidato com a existência das classes wrapper (Integer, Boolean, Character). Elas são objetos, mas não substituem os primitivos — são complementares. Se a alternativa dissesse "Java só usa objetos", seria o mesmo erro. Lembre-se: primitivos existem e são a forma padrão para valores simples.
A afirmação está errada porque Java suporta tipos primitivos. Os oito tipos primitivos são: byte, short, int, long, float, double, char e boolean. Eles armazenam valores diretamente, sem ser objetos. A linguagem também possui as classes wrapper (Integer, Long, Boolean, etc.) para contextos que exigem objetos, mas isso não torna os primitivos obrigatórios ou inexistentes. A declaração int numero = 10; é válida e comum, provando que a afirmação é falsa.
Gabarito: ERRADO
Link permanente: /questoes/qg595104