Java: Operadores de incremento e decremento
Fala, pessoá!
Há quanto tempo, hein? Vixe! Está com um tempão que não publico nada, mas estou voltando!
O meu brother Vitão Kessler publicou um artigo interessante: como a Cesgranrio e o Cespe estão cobrando Java nos últimos dois anos. Vale a pena ler esse artigo, hein?
Teremos dois concursos excelentes do Ciclo de Gestão: STN que será ESAF e BACEN que será, provavelmente, CESGRANRIO. A ESAF é mais light e não cobra questões técnicas como outras bancas, mas a CESGRANRIO, meus fi dos outros, a bicha pega na rasteira com códigos Java. No mapaemanto feito no artigo citado acima, questões que possuem códigos Java onde devemos saber o que será impresso são bastantes corriqueiras pela CESGRANRIO.
Com essa introdução, quero falar agora sobre os Operadores de Incremento e Decremento. As bancas gostam desses carinhas para fazer questões do tipo “o que será impresso”.
Teoria
Os operadores de incremento e decremento podem ser:
- Pré-fixados
- É avaliado o valor incrementado (decrementado)
- O valor trabalhado já é o incrementado (decrementado)
- Exemplo:
- int x = 15;
- System.out.println(“x: ” + ++x); // O resultado gerado é x: 16.
- É avaliado o valor incrementado (decrementado)
- Pós-fixados
- É avaliado o valor original
- O valor trabalhado é o valor original
- Depois ele é incrementado (decrementado)
- Exemplo:
- int x = 15;
- System.out.println(“x: ” + x++); // O resultado gerado é x: 15.
- System.out.println(“x: ” + x); // O resultado gerado é x: 16.
- É avaliado o valor original
Essa diferença entre pré e pós-fixados é de suma importância no momento de interpretar os códigos das questões!
Questões
Vamos ver questões sobre esses cabocos?
– Vamos, Rogerão? Você que manda!
Perfeito! É assim que gosto! =D
[IADES 2011 PG/DF – Analista Jurídico – Analista de Sistemas] Analise o código fonte em Java a seguir e assinale a alternativa que apresenta o resultado da execução do programa.
import java.io.*;
public class Calculadora {
public static void main(String [] args) {
int a, b, c;
a = 5;
b = 3;
c = a++ + ++b;
System.out.println(“Valores = ” + a + b + c);
}
}
Vamos comentar a classe:
- A classe possui um método main, ou seja, é uma classe executável;
- Dentro do método main, temos três variáveis locais ao método: a, b e c;
- Todas elas do tipo primitivo int;
- c recebe o resultado da operação a++ + ++b;
- a está com o incremento pós-fixado, então é avaliado o valor original de a (5) e depois a é incremento (6);
- b está com o incremento pré-fixado, então é avaliado já o valor incrementado de b (4);
- c então recebe 9;
- Na instrução System.out.println(“Valores = ” + a + b + c);, será impresso no console o texto Valores = 649;
- Quando um dos operandos é uma String, então o operador + age como concatenador de Strings, com isso, há a concatenação de Valor = + 6 + 4 + 9;
- Vejam que 6, 4 e 9 não são somados apenas porque há um operando de String antes deles.
Continuando a questão!
[IADES 2011 PG/DF – Analista Jurídico – Analista de Sistemas] Analise o código fonte em Java a seguir e assinale a alternativa que apresenta o resultado da execução do programa.
- [A] Valores = 16
- [B] Valores = 548
- [C] Valores = 18
- [D] Valores = 649
- [E] Valores = 19
O nosso gaba então é a letra D. Não pode ser a letra E justamente por os valore 6, 4 e 9 foram concatenados com a String “Valores = “.
Hermangildo! O meu gato que adora o Natal!
[]s e até a próxima!
_________________________
Rogério Araújo
Blog: https://rogerioaraujo.wordpress.com/
Gmail: rgildoaraujo@gmail.com
Twitter: http://twitter.com/rgildoaraujo
LinkedIn: http://br.linkedin.com/in/rgildoaraujo
Grupo de estudo no TIMasters 2.0: http://timasters.ning.com/group/dev
Rogério, estou estudando programação java, mas é difícil ficar muito tempo no seu blog, a cor que vc escolheu, é muito escura, cansa a visão, por favor, coloque um cor de fundo mais clara, cores claras proporciona maior conforto visual.
Oi, Luci! O design do blog infelizmente é pré-configurado. Não dá para mudar a cor de fundo. Posso mudar o design todo, mas vou perder o menu, disposições das informações, etc.
Sugiro que você possa copiar o conteúdo do blog e jogar em documento do Word, por exemplo. Tá bom? =)
Abraços!