Pular para o conteúdo principal

Questão de Programação — Java — FGV 2024

ProgramaçãoJava
Código
fg075165
Banca
FGV
Órgão
AL-PR
Ano
2024
Nível
Superior
Cargo
Analista Legislativo - Desenvolvedor de Sistemas
Analise o script Java a seguir.Imagem associada para resolução da questãoAo executar o script acima, a saída no console será
  1. AJEE v8 & JDK 17: 5.
  2. BJEE v8 & JDK 17: 3.
  3. CJEE v8 & JDK 17: 8.
  4. DJEE v8 & JDK 17.
  5. EErro de compilação.
Revelar gabarito e comentário

GabaritoC — JEE v8 & JDK 17: 8.

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: métodos e saída no console

Gabarito: letra C. O código define a classe HelloJEE com o método main, que imprime a string "JEE v8 & JDK 17: " concatenada com o retorno da chamada sum(5, 3). O método sum recebe dois inteiros e retorna a soma deles, ou seja, 5 + 3 = 8. Portanto, a saída no console é JEE v8 & JDK 17: 8.

O código apresentado é um exemplo clássico de programa Java: uma classe pública com um método main, que é o ponto de entrada da aplicação. Dentro do main, a instrução System.out.println(...) é responsável por exibir uma mensagem no console, seguida de uma quebra de linha. O operador + em Java, quando usado com uma String e um valor numérico, realiza a concatenação — ou seja, converte o número para texto e o junta à string. Nesse caso, a string "JEE v8 & JDK 17: " é concatenada com o resultado da chamada do método sum(5, 3).

O método sum é um método estático que recebe dois parâmetros do tipo int e retorna um int. A palavra-chave static indica que o método pertence à classe, e não a uma instância específica — por isso ele pode ser chamado diretamente dentro do main, que também é estático. A operação realizada é uma simples adição aritmética: a + b. Com a = 5 e b = 3, o resultado é 8. Não há nenhum erro de compilação, pois a sintaxe está correta: o método sum é declarado antes de ser usado, os tipos são compatíveis e a concatenação de String com int é válida em Java.

A pegadinha desta questão está em confundir a ordem dos parâmetros ou a operação realizada. O método sum soma os dois valores — não subtrai, não multiplica, não divide. Além disso, a saída inclui o texto fixo "JEE v8 & JDK 17: " seguido do número, sem ponto final. As alternativas que apresentam 5 ou 3 isoladamente ignoram a soma, e a alternativa que omite o número desconsidera a concatenação. A alternativa que aponta erro de compilação é incorreta, pois o código é perfeitamente válido.

Guarde o critério decisivo: o método sum retorna a soma dos argumentos, e o + entre string e número concatena. É exatamente essa combinação que separa a alternativa correta das demais.

Alternativa A — ❌ Incorreta

Apresenta o valor 5, que é o primeiro argumento passado ao método sum. O erro está em ignorar a operação de adição: o método não retorna o primeiro parâmetro, mas sim a soma de ambos. O valor 5 seria a saída se o método retornasse apenas a, o que não ocorre.

Alternativa B — ❌ Incorreta

Apresenta o valor 3, que é o segundo argumento passado ao método sum. O erro é análogo ao da alternativa A: o método não retorna o segundo parâmetro, mas a soma a + b. O valor 3 seria a saída se o método retornasse apenas b.

Alternativa C — ✅ Correta ⟵ GABARITO

A saída correta é JEE v8 & JDK 17: 8. O método sum(5, 3) retorna 5 + 3 = 8, e esse valor é concatenado à string "JEE v8 & JDK 17: " pelo operador +. O resultado final é exatamente o texto apresentado nesta alternativa.

Alternativa D — ❌ Incorreta

Apresenta apenas o texto JEE v8 & JDK 17, sem o número resultante da soma. O erro está em omitir a concatenação do retorno do método sum. Como o código chama sum(5, 3) dentro da instrução println, o valor 8 obrigatoriamente aparece na saída.

Alternativa E — ❌ Incorreta

Afirma que ocorre erro de compilação. O código está sintaticamente correto: a classe HelloJEE é pública, o método main tem a assinatura padrão public static void main(String[] args), e o método sum é declarado corretamente como static int sum(int a, int b). Não há nenhum erro de compilação, pois todos os tipos são compatíveis e a concatenação de String com int é válida.

Gabarito: letra C — a saída no console é JEE v8 & JDK 17: 8.

Link permanente: /questoes/fg075165