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?
AImprime null na saída padrão.
BImprime 0 na saída padrão.
CImprime 1 na saída padrão.
DProduz erro de compilação.
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.