Analise o Código Java a seguir: public class questao_java ...
Analise o Código Java a seguir:
public class questao_java
{
public static void main(String args[])
{
string teste = "";
int var1 = 10;
int var2 = 20;
int res = 0;
res = var1 + var2;
teste += res;
res = var1++ + var2;
teste += " - " + res;
res = var1 + var2;
teste += " - " + var1;
System.out.println(teste);
}
}
Assinale a alternativa que contém o resultado correto da execução do código.
- Gabarito Comentado (1)
- Aulas (1)
- Comentários (0)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão de programação em Java e entender por que a alternativa correta é a alternativa D.
Primeiramente, observe o código Java fornecido:
public class questao_java {
public static void main(String args[]) {
string teste = "";
int var1 = 10;
int var2 = 20;
int res = 0;
res = var1 + var2;
teste += res;
res = var1++ + var2;
teste += " - " + res;
res = var1 + var2;
teste += " - " + var1;
System.out.println(teste);
}
}
Análise passo a passo:
1. string teste = "";
Aqui, há um erro no código fornecido: o tipo de dado deve ser com "S" maiúsculo, ou seja, String. Vamos considerar que seja um erro de digitação e prosseguir.
2. int var1 = 10;
int var2 = 20;
int res = 0;
Essas linhas simplesmente inicializam as variáveis.
3. res = var1 + var2;
Aqui, res vai receber a soma de var1 e var2, ou seja, 10 + 20 = 30.
4. teste += res;
O valor de res (30) é concatenado à string teste. Então, teste é agora "30".
5. res = var1++ + var2;
Aqui, há um uso do operador de incremento pós-fixado. Primeiro, var1 é usado no cálculo (10), depois é incrementado para 11. Então, res se torna 10 + 20 = 30.
6. teste += " - " + res;
Concatenamos " - " e o valor de res (30) à string teste. Agora, teste é "30 - 30".
7. res = var1 + var2;
Agora, var1 é 11 (por causa do incremento anterior), e var2 é 20. Então, res se torna 11 + 20 = 31.
8. teste += " - " + var1;
Concatenamos " - " e o valor de var1 (11) à string teste. Agora, teste é "30 - 30 - 11".
9. System.out.println(teste);
Finalmente, imprimimos o valor de teste, que é "30 - 30 - 11".
Conclusão:
A alternativa correta é a D - 30, 30, 11.
Analisando as alternativas incorretas:
A - 30, 30, 10: Está incorreta porque, após a operação de incremento, var1 se torna 11, e não 10.
B - 30, 40, 10: Está incorreta porque o valor de res nunca é 40 e var1 é incrementado para 11.
C - 30, 31, 11: Está incorreta porque o valor de res após var1++ + var2 é 30, não 31.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo