SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
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	
  

Weitere ähnliche Inhalte

Was ist angesagt?

Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
Denis Sobrenome
 
Poo1 aula 6 - conversão de tipos primitivos
Poo1   aula 6 - conversão de tipos primitivosPoo1   aula 6 - conversão de tipos primitivos
Poo1 aula 6 - conversão de tipos primitivos
Denis Sobrenome
 
Java 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresJava 03 Tipos Dados Operadores
Java 03 Tipos Dados Operadores
Regis Magalhães
 

Was ist angesagt? (20)

Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2Paradigmas de Linguagens de programacao - Aula #2
Paradigmas de Linguagens de programacao - Aula #2
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo java
 
Poo1 aula 4 - tipos de dados variáveis-constantes
Poo1   aula 4 - tipos de dados variáveis-constantesPoo1   aula 4 - tipos de dados variáveis-constantes
Poo1 aula 4 - tipos de dados variáveis-constantes
 
Introducao ao C#
Introducao ao C#Introducao ao C#
Introducao ao C#
 
E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Poo1 aula 6 - conversão de tipos primitivos
Poo1   aula 6 - conversão de tipos primitivosPoo1   aula 6 - conversão de tipos primitivos
Poo1 aula 6 - conversão de tipos primitivos
 
Paradigmas de linguagens de programacao - aula#10
Paradigmas de linguagens de programacao - aula#10Paradigmas de linguagens de programacao - aula#10
Paradigmas de linguagens de programacao - aula#10
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões Regulares
 
Curso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NETCurso de OO com C# - Parte 06 - ADO.NET
Curso de OO com C# - Parte 06 - ADO.NET
 
Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6Paradigmas de Linguagens de Programacao - Aula #6
Paradigmas de Linguagens de Programacao - Aula #6
 
03 linguagem ambientescratch
03 linguagem ambientescratch03 linguagem ambientescratch
03 linguagem ambientescratch
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
 
Java Básico
Java BásicoJava Básico
Java Básico
 
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
Java 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresJava 03 Tipos Dados Operadores
Java 03 Tipos Dados Operadores
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
 

Andere mochten auch (7)

Curso de Ruby on Rails - Aula 02
Curso de Ruby on Rails - Aula 02Curso de Ruby on Rails - Aula 02
Curso de Ruby on Rails - Aula 02
 
Melhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação WebMelhorando A Performance Da Sua Aplicação Web
Melhorando A Performance Da Sua Aplicação Web
 
Desenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsDesenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRails
 
Inovação e Open source na Globo.com
Inovação e Open source na Globo.comInovação e Open source na Globo.com
Inovação e Open source na Globo.com
 
Criando uma aplicação simples com ruby on rails
Criando uma aplicação simples com ruby on railsCriando uma aplicação simples com ruby on rails
Criando uma aplicação simples com ruby on rails
 
Desenvolvendo Aplicativos Sociais com Rails 3
Desenvolvendo Aplicativos Sociais com Rails 3Desenvolvendo Aplicativos Sociais com Rails 3
Desenvolvendo Aplicativos Sociais com Rails 3
 
Começando com Git
Começando com GitComeçando com Git
Começando com Git
 

Ähnlich wie Curso java 02 - variáveis

Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
Maurício Linhares
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
FelipeSoares580387
 
Resumo tipo primitivo_java
Resumo tipo primitivo_javaResumo tipo primitivo_java
Resumo tipo primitivo_java
Marcos Souza
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - Comparando
Wesley Lemos
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
PAULO Moreira
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
RUI VIEIRA
 

Ähnlich wie Curso java 02 - variáveis (20)

Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001Programação Orientada a Objetos - 001
Programação Orientada a Objetos - 001
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Aula2
Aula2Aula2
Aula2
 
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdfMicrofundamento - Algoritmos e Lógica de Programação (1).pdf
Microfundamento - Algoritmos e Lógica de Programação (1).pdf
 
Aula4
Aula4Aula4
Aula4
 
Resumo tipo primitivo_java
Resumo tipo primitivo_javaResumo tipo primitivo_java
Resumo tipo primitivo_java
 
JAVA - Introdução
JAVA - IntroduçãoJAVA - Introdução
JAVA - Introdução
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - Comparando
 
7194099-Manual-de-Java
7194099-Manual-de-Java7194099-Manual-de-Java
7194099-Manual-de-Java
 
Project coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidadesProject coin pequenas mudanças grandes facilidades
Project coin pequenas mudanças grandes facilidades
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
 
Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
JavaScript "for dummies"
JavaScript "for dummies"JavaScript "for dummies"
JavaScript "for dummies"
 
Programação desktop - apresentação
Programação desktop -  apresentaçãoProgramação desktop -  apresentação
Programação desktop - apresentação
 
Vhdl
VhdlVhdl
Vhdl
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 

Mehr von Maurício Linhares

Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
Maurício Linhares
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismo
Maurício Linhares
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
Maurício Linhares
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
Maurício Linhares
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
Maurício Linhares
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
Maurício Linhares
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
Maurício Linhares
 
Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010
Maurício Linhares
 

Mehr von Maurício Linhares (20)

Mercado de TI
Mercado de TIMercado de TI
Mercado de TI
 
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
 
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Curso java 07 - exceções
Curso java   07 - exceçõesCurso java   07 - exceções
Curso java 07 - exceções
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismo
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Migrando pra Scala
Migrando pra ScalaMigrando pra Scala
Migrando pra Scala
 
Outsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemOutsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvem
 
Mercado hoje
Mercado hojeMercado hoje
Mercado hoje
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Revisão html e java script
Revisão html e java scriptRevisão html e java script
Revisão html e java script
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
 
Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010Introdução ao desenvolvimento web - 2 - iDez 2010
Introdução ao desenvolvimento web - 2 - iDez 2010
 
Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010Aulas de Java Avançado 1 - Faculdade iDez 2010
Aulas de Java Avançado 1 - Faculdade iDez 2010
 

Kürzlich hochgeladen

Kürzlich hochgeladen (8)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 

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   public class 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   public class 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
  • 17.
  • 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);
  • 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