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?

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 #2Ismar Silveira
 
Polimorfismo java
Polimorfismo javaPolimorfismo java
Polimorfismo javaFAFICA
 
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-constantesDenis Sobrenome
 
E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11E:\Plp 2009 2\Plp Aula11
E:\Plp 2009 2\Plp Aula11Ismar Silveira
 
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 ProgramacaoJosé Araújo
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
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 primitivosDenis Sobrenome
 
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#10Ismar Silveira
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesSidneyCruz
 
StringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesStringBuilder, Caracteres e Expressões Regulares
StringBuilder, Caracteres e Expressões RegularesGabriel Matheus
 
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.NETLeonardo Melo Santos
 
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 #6Ismar Silveira
 
03 linguagem ambientescratch
03 linguagem ambientescratch03 linguagem ambientescratch
03 linguagem ambientescratchGustavo Rissato
 
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...Manuel Menezes de Sequeira
 
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...Manuel Menezes de Sequeira
 
Java 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresJava 03 Tipos Dados Operadores
Java 03 Tipos Dados OperadoresRegis Magalhães
 
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 objetosLeonardo Melo Santos
 
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...Manuel Menezes de Sequeira
 

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

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 02Maurício Linhares
 
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 WebMaurício Linhares
 
Desenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsDesenvolvimento Web com RubyOnRails
Desenvolvimento Web com RubyOnRailsRoberto Soares
 
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.comRoberto Soares
 
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 railsCOTIC-PROEG (UFPA)
 
Desenvolvendo Aplicativos Sociais com Rails 3
Desenvolvendo Aplicativos Sociais com Rails 3Desenvolvendo Aplicativos Sociais com Rails 3
Desenvolvendo Aplicativos Sociais com Rails 3Carlos Brando
 
Começando com Git
Começando com GitComeçando com Git
Começando com GitDaniel Costa
 

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âmetrosMaurí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).pdfFelipeSoares580387
 
Resumo tipo primitivo_java
Resumo tipo primitivo_javaResumo tipo primitivo_java
Resumo tipo primitivo_javaMarcos Souza
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScriptBruno Catão
 
Javascript para CSharpers 1 - Comparando
Javascript para CSharpers   1 - ComparandoJavascript para CSharpers   1 - Comparando
Javascript para CSharpers 1 - ComparandoWesley Lemos
 
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 facilidadesMarcelo de Castro
 
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-doublePAULO Moreira
 
Java Desktop
Java DesktopJava Desktop
Java Desktopciceroclc
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: IntroduçãoWesley R. Bezerra
 
JavaScript "for dummies"
JavaScript "for dummies"JavaScript "for dummies"
JavaScript "for dummies"Murilo Beltrame
 
Programação desktop - apresentação
Programação desktop -  apresentaçãoProgramação desktop -  apresentação
Programação desktop - apresentaçãoRosicleia Frasson
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cppRUI VIEIRA
 
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 objetoGleyciana Garrido
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 

Ä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

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 OfficeDropMaurício Linhares
 
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 OfficeDropMaurí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çõesMaurí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 polimorfismoMaurí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 abstratosMaurí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 bibliotecasMaurí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 javaMaurício Linhares
 
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 nuvemMaurí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 2010Maurí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 2010Maurí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 2010Maurí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
 

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