Variáveis	
  em	
  Java 	
  	
  
Maurício Linhares – mauricio.linhares@gmail.com
Variáveis	
  em	
  Java	
         Não pode!


Cachorro cachorro = new Gato();
cachorro.late();

Cachorro outroCachorro =
 new Cachorro();
                                     Pode!
outroCachorro.late();
Declaração	
  de	
  variáveis	
  
•  As variáveis devem ter um tipo;

•  As variáveis devem ter um nome;

•  Tipo e classe são a mesma coisa (aprenda isso);
Nomes	
  de	
  identi6icadores	
  do	
  Java	
  
•  Devem começar com uma letra, ‘_’ ou ‘$’ (mas
   nós não devemos usar $);

•  Não podem ser uma palavra reservada da
   linguagem Java;

•  Não pode começar com número;
Palavras	
  reservadas	
  da	
  linguagem	
  
  abstract continue for new switch assert default goto
  package synchronized boolean do if private this
  break double implements protected throw byte else
  import public throws case enum instanceof return
  transient catch extends int short try char final
  interface static void class finally long strictfp
  volatile const float native super while
O	
  que	
  é	
  uma	
  variável?	
  
Atribuição	
  de	
  variáveis	
  
public class TesteDeAtribuicoes {

    public static void main(String[] args) {
        int valor = 10;
        boolean verdadeiro = false;
        int soma = valor + 8;
        int outroValor = valor;
        double numeroEstranho = 234.987;
        char caractere = 'P';
    }

}
Tamanhos	
  dos	
  tipos	
  primitivos	
  
boolean       1 bit    true ou false
character     16 bits 0 a 65535
byte          8 bits   -128 a 127
short         16 bits -32768 a 32767
int           32 bits -2147483648 a 2147483647
long          64 bits Não cabe aqui J
float         32 bits -
double        64 bits -
Declarando	
  inteiros	
  
public class DeclarandoInteiros {

    public static void main(String[] args)
    {
       int inteiro = 1;
       short pequeno = -20;
       long grande = 123455;
       long outroLong = 123456663345L;
    }
}
Declarando	
  números	
  de	
  ponto	
  
6lutuante	
  
public class DeclarandoFloats {

    public static void main(String[] args)
    {
       float preco = 3.34F;
       double medida = 12342.45566;
    }

}
Declarando	
  caracteres	
  
public class DeclarandoCaracteres {

    public static void main(String[] args)
    {
       char caracter = 'Y';
       char unicode = 'u0059';
    }

}
Perda	
  de	
  precisão	
  
•  Ao tentar colocar um número grande em uma
   variável que não é grande o suficiente,
   perdemos precisão;

•  O compilador não aceita a perda de precisão a
   não ser que o programador se responsabilize
   por ela;

•  Você não vai querer isso em um sistema que
   lide com dinheiro;
Perda	
  de	
  precisão	
  
public class PrecisaoTest {

    public static void main(String[] args) {
        int grande = 40000;
        short menor = (short) grande;
        //correto

        short pequeno = grande;
        //errado
    }

}
Matemática	
  de	
  ponto	
  6lutuante	
  no	
  Java	
  

 •  Operações matemáticas com ponto flutuante no
    Java não são precisas;
 •  1.01 + 1.17 não é 2.18 -> 2.1799999999999997;
 •  Não use números flutuantes para matemática exata
    no Java (dinheiro? dos outros? Nem pensar!);
BigDecimals	
  e	
  matemática	
  precisa	
  
no	
  Java	
  
public class MatematicaComBigDecimal {

    public static void main(String[] args) {
        BigDecimal numero = new BigDecimal("10.7");
        BigDecimal outroNumero = new BigDecimal("9.5");

        System.out.println( numero.add( outroNumero ) );
    }

}
Variáveis	
  que	
  apontam	
  pra	
  objetos	
  


                                             Controle
                                             remoto
Primitivos	
  e	
  objetos	
  
•  Variáveis de tipos primitivos guardam o valor do
   tipo primitivo;

•  Variáveis de objetos guardam o caminho pra se
   chegar no objeto (o controle remoto);
Referências	
  
Uma	
  nova	
  referência	
  
E	
  uma	
  troca	
  de	
  referências	
  
E	
  agora	
  a	
  televisão	
  está	
  fora	
  do	
  ar	
  
Exercício	
  -­‐	
  1	
  
•  Defina	
  a	
  diferença	
  entre	
  objeto	
  e	
  variável	
  

•  Defina	
  a	
  diferença	
  entre	
  3pos	
  primi3vos	
  e	
  objetos	
  dentro	
  da	
  
   linguagem	
  Java	
  
Exercício	
  -­‐	
  2	
  
•  Defina	
  o	
  que	
  fazem	
  as	
  seguintes	
  palavras	
  reservadas	
  do	
  Java	
  e	
  
   demonstre	
  o	
  seu	
  uso	
  com	
  exemplos	
  em	
  código:	
  

   •    stric@p	
  
   •    final	
  
   •    break	
  
   •    con3nue	
  

Curso java 02 - variáveis

  • 1.
    Variáveis  em  Java     Maurício Linhares – mauricio.linhares@gmail.com
  • 2.
    Variáveis  em  Java   Não pode! Cachorro cachorro = new Gato(); cachorro.late(); Cachorro outroCachorro = new Cachorro(); Pode! outroCachorro.late();
  • 3.
    Declaração  de  variáveis   •  As variáveis devem ter um tipo; •  As variáveis devem ter um nome; •  Tipo e classe são a mesma coisa (aprenda isso);
  • 4.
    Nomes  de  identi6icadores  do  Java   •  Devem começar com uma letra, ‘_’ ou ‘$’ (mas nós não devemos usar $); •  Não podem ser uma palavra reservada da linguagem Java; •  Não pode começar com número;
  • 5.
    Palavras  reservadas  da  linguagem   abstract continue for new switch assert default goto package synchronized boolean do if private this break double implements protected throw byte else import public throws case enum instanceof return transient catch extends int short try char final interface static void class finally long strictfp volatile const float native super while
  • 6.
    O  que  é  uma  variável?  
  • 7.
    Atribuição  de  variáveis   public class TesteDeAtribuicoes { public static void main(String[] args) { int valor = 10; boolean verdadeiro = false; int soma = valor + 8; int outroValor = valor; double numeroEstranho = 234.987; char caractere = 'P'; } }
  • 8.
    Tamanhos  dos  tipos  primitivos   boolean 1 bit true ou false character 16 bits 0 a 65535 byte 8 bits -128 a 127 short 16 bits -32768 a 32767 int 32 bits -2147483648 a 2147483647 long 64 bits Não cabe aqui J float 32 bits - double 64 bits -
  • 9.
    Declarando  inteiros   publicclass DeclarandoInteiros { public static void main(String[] args) { int inteiro = 1; short pequeno = -20; long grande = 123455; long outroLong = 123456663345L; } }
  • 10.
    Declarando  números  de  ponto   6lutuante   public class DeclarandoFloats { public static void main(String[] args) { float preco = 3.34F; double medida = 12342.45566; } }
  • 11.
    Declarando  caracteres   publicclass DeclarandoCaracteres { public static void main(String[] args) { char caracter = 'Y'; char unicode = 'u0059'; } }
  • 12.
    Perda  de  precisão   •  Ao tentar colocar um número grande em uma variável que não é grande o suficiente, perdemos precisão; •  O compilador não aceita a perda de precisão a não ser que o programador se responsabilize por ela; •  Você não vai querer isso em um sistema que lide com dinheiro;
  • 13.
    Perda  de  precisão   public class PrecisaoTest { public static void main(String[] args) { int grande = 40000; short menor = (short) grande; //correto short pequeno = grande; //errado } }
  • 14.
    Matemática  de  ponto  6lutuante  no  Java   •  Operações matemáticas com ponto flutuante no Java não são precisas; •  1.01 + 1.17 não é 2.18 -> 2.1799999999999997; •  Não use números flutuantes para matemática exata no Java (dinheiro? dos outros? Nem pensar!);
  • 15.
    BigDecimals  e  matemática  precisa   no  Java   public class MatematicaComBigDecimal { public static void main(String[] args) { BigDecimal numero = new BigDecimal("10.7"); BigDecimal outroNumero = new BigDecimal("9.5"); System.out.println( numero.add( outroNumero ) ); } }
  • 16.
    Variáveis  que  apontam  pra  objetos   Controle remoto
  • 18.
    Primitivos  e  objetos   •  Variáveis de tipos primitivos guardam o valor do tipo primitivo; •  Variáveis de objetos guardam o caminho pra se chegar no objeto (o controle remoto);
  • 19.
  • 20.
  • 21.
    E  uma  troca  de  referências  
  • 22.
    E  agora  a  televisão  está  fora  do  ar  
  • 23.
    Exercício  -­‐  1   •  Defina  a  diferença  entre  objeto  e  variável   •  Defina  a  diferença  entre  3pos  primi3vos  e  objetos  dentro  da   linguagem  Java  
  • 24.
    Exercício  -­‐  2   •  Defina  o  que  fazem  as  seguintes  palavras  reservadas  do  Java  e   demonstre  o  seu  uso  com  exemplos  em  código:   •  stric@p   •  final   •  break   •  con3nue