Pular para o conteúdo principal

Questão de Programação — Java — FUNDATEC 2023

ProgramaçãoJava
Código
qq896829
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
Analise o seguinte trecho de código Java:int n;System.out.println(++n);O que acontecerá após a execução?
  1. AImprime null na saída padrão.
  2. BImprime 0 na saída padrão.
  3. CImprime 1 na saída padrão.
  4. DProduz erro de compilação.
  5. EProduz erro em tempo de execução.
Revelar gabarito e comentário

GabaritoD — Produz erro de compilação.

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: variáveis locais não inicializadas

Gabarito: D – Erro de compilação. O código não compila porque a variável local int n; não foi inicializada antes de ser usada no operador ++n. Em Java, variáveis declaradas dentro de métodos não recebem valor padrão; o compilador exige que sejam inicializadas explicitamente antes do primeiro uso.

Análise

A linha int n; declara uma variável local do tipo int. Diferentemente de campos de classe (atributos), que recebem valores padrão (0 para int), as variáveis locais não são inicializadas automaticamente. O compilador Java verifica se toda variável local foi inicializada antes de qualquer leitura. No trecho ++n, há uma leitura implícita do valor de n (para incrementá-lo), e como n não foi inicializada, o compilador gera o erro: "variable n might not have been initialized". Portanto, o código nem chega a ser executado.

Alternativas

Alternativa A — ❌ Incorreta

Imprimir null não é possível porque int é um tipo primitivo, não uma referência. Além disso, o código não compila.

Alternativa B — ❌ Incorreta

Se n fosse um campo de classe, o valor padrão seria 0. Mas, como é variável local, não há valor padrão; o compilador impede o uso não inicializado.

Alternativa C — ❌ Incorreta

1 seria o resultado se n estivesse inicializado com 0. Mas a falta de inicialização impede a compilação.

Alternativa D — ✅ Correta ⟵ GABARITO

O compilador exige inicialização de variáveis locais antes do uso. Como n não foi inicializada, ocorre erro de compilação.

Alternativa E — ❌ Incorreta

Não há erro em tempo de execução porque o código não passa pela compilação.

NÃO CAIA NESSA!

A banca explora a confusão entre variáveis locais e campos de classe. Em Java, campos (atributos de classe) recebem valores padrão (0 para int, null para objetos), mas variáveis locais não. O candidato que generaliza essa regra e assume que int n; vale 0 erraria marcando as alternativas B ou C.

PEGA ESSA DICA!

Sempre que uma variável local aparecer sem inicialização explícita antes do uso, desconfie de erro de compilação. Grave: apenas variáveis de instância e estáticas recebem valores padrão; locais precisam ser inicializadas manualmente.

Gabarito: letra D – Erro de compilação.

Link permanente: /questoes/qq896829