Questão nº 57
Questão de Desenvolvimento de Sistemas · FCC TRT24 2016 (nº 57)
Considere o programa Java a seguir:
```java
public class Teste {
public static void main(String[] args) {
int a, b, x, y;
a = 3;
b = -2;
x = -1;
y = 6;
x += b;
y /= a;
b--;
System.out.println(x);
System.out.println(y);
System.out.println(b);
}
}
```
Os valores exibidos serão, respectivamente,
- A−2, 3, −1
- B3, 2, −3
- C−3, 2, −1
- D3, 3, −1
- E−3, 2, −3 (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Operadores de atribuição composta (como +=, /=) são atalhos que combinam uma operação matemática com a atribuição do resultado à mesma variável, enquanto operadores de incremento/decremento (como ++, --) aumentam ou diminuem o valor de uma variável em 1.
(A) Incorreta: Os valores de x, y e b são calculados de forma diferente.
(B) Incorreta: O valor final de x não é 3.
(C) Incorreta: O valor final de b não é -1. A armadilha aqui é a operação b--. Com b inicialmente em -2, b-- significa b = b - 1, resultando em b = -2 - 1 = -3. Um erro comum seria pensar que b-- em um número negativo o aproxima de zero (tornando-o -1) ou simplesmente ignorar essa operação.
(D) Incorreta: Os valores de x, y e b são calculados de forma diferente.
(E) Correta:
a = 3,b = -2,x = -1,y = 6x += b;éx = x + b;x = -1 + (-2);x = -3;y /= a;éy = y / a;y = 6 / 3;y = 2;b--;éb = b - 1;b = -2 - 1;b = -3;
Os valores exibidos serãox(-3),y(2) eb(-3), respectivamente.
Fonte: FCC TRT24 2016 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.