O que imprime este código? (prefix and postfix operators)

O exemplo abaixo trabalha o conceito dos operadores ++ e — bem como inicializadores estáticos.

Prefix operators ++x ou –x

Postfix operators x++ ou x–

 

 

public class Teste {

static { int x = 5;}

static int x,y;

public static void main(String[] args){

x–;

myMethod();

System.out.println(x + y + ++x);

}

public static void myMethod(){

y = x++ + ++x;

}

}

 

 

Passo a passo para a resposta:

  1. inicia-se as variáveis x e y com valores padrão = 0. O bloco estático não interfere em absolutamente nada.

     

  2. x–

    x = -1

    y = 0

     

  3. myMethod()

    x++ + ++x

    -1 + 1

     
     

    x =1

    y =0

     
     

  4. sout (x + y+ ++x)

    sout(1 + 0 + (++x))

    sout(1 + 0 + 2)

    sout(3)

     

     

    x = 2

    y = 0

 

Resposta: Imprime 3 !

Esta entrada foi publicada em Java com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s