Questão de Programação — JEE (Java Enterprise Edition) — Quadrix 2025
- Código
- qg603656
- Banca
- Quadrix
- Órgão
- SEDF
- Ano
- 2025
- Nível
- Superior
- Cargo
- Professor de Educação Básica: Informática
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: C — CERTO. A linha Produto p = new Produto("Notebook", 5, 4500.00); declara uma variável local p cujo tipo é a classe Produto — um tipo estruturado (definido pelo programador, composto por atributos e métodos) — e a inicializa com um objeto criado pelo construtor, passando os valores específicos "Notebook", 5 e 4500.00. A afirmação está correta.
Em Java, os tipos de dados se dividem em duas grandes categorias: tipos primitivos (elementares) e tipos de referência (estruturados). Os primitivos são aqueles já embutidos na linguagem, como int, double, boolean, char, byte, short, long e float — eles armazenam diretamente o valor. Já os tipos de referência apontam para um objeto na memória (heap) e incluem as classes, interfaces, arrays e enums. A classe Produto, definida no código, é um tipo estruturado porque agrupa dados (atributos nome, quantidade, preco) e comportamentos (métodos calcularValorTotal(), aplicarDesconto()).
A linha em questão faz duas coisas simultaneamente: declara a variável local p (dentro do método main, portanto com escopo local) e a inicializa com uma nova instância da classe Produto. O operador new aloca memória para o objeto e chama o construtor Produto(String, int, double), que recebe os argumentos "Notebook", 5 e 4500.00 e os atribui aos campos do objeto recém-criado. Assim, p passa a referenciar um objeto concreto, com estado específico — exatamente o que o item descreve.
A pegadinha que a banca poderia explorar aqui é confundir "variável local" com "variável de instância" (atributo da classe) ou achar que p é um tipo primitivo. Mas p está declarada dentro do método main, logo é local; e seu tipo é Produto, uma classe — portanto, estruturado. O item está tecnicamente preciso em todos os termos.
Guarde a distinção entre declaração (criar a variável com seu tipo) e inicialização (atribuir um valor/objeto a ela) — é nela que o item se ancora, e é o critério que você deve aplicar para julgar a assertiva.
A afirmação está correta. A variável p é declarada dentro do método main, o que a caracteriza como variável local (em oposição a um atributo da classe). Seu tipo é Produto, uma classe definida pelo programador — um tipo estruturado, pois encapsula múltiplos campos (String nome, int quantidade, double preco) e métodos. A inicialização ocorre com new Produto("Notebook", 5, 4500.00), que invoca o construtor e cria um objeto com os dados específicos fornecidos. Todos os elementos da assertiva — variável local, tipo estruturado e inicialização com dados específicos — estão presentes e corretos.
Gabarito: C — CERTO.
Link permanente: /questoes/qg603656