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.
  • 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.

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!

Pense num gato animado para o Natal! =D

Pense num gato animado para o Natal! =D

[]s e até a próxima!

_________________________
Sou eu!!!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