Analise o Código Java a seguir: public class questao_java ...

Próximas questões
Com base no mesmo assunto
Ano: 2019 Banca: IBFC Órgão: FSA-SP Prova: IBFC - 2019 - FSA-SP - Analista de Sistemas I |
Q2691580 Arquitetura de Software

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.

Alternativas

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