SlideShare uma empresa Scribd logo
www.tiexpert.net                                                                      Pág. 1 de 3

Classes Numéricas
Estamos seguindo para, em breve, entrarmos nos tutoriais de programação usando SWING e
AWT, resumidamente, janelas. Mas antes, veremos classes que se tornarão de extrema
importância para o uso da manipulação dos dados. Essas classes são as que tem por base a
classe abstrata Numbers e a classe String.
Em Java, além de podermos utilizar os tipos primitivos de dados, também podemos usufruir
de classes completas para o tratamento desses tipos primitivos. Isso é uma grande vantagem
quando métodos necessitam ou retornam objetos ao invés de tipos primitivos (o que é muito
comum com os objetos do pacote SWING e AWT).
Outra vantagem dessas classes é que o próprio compilador é capaz de extrair os dados do
objeto implicitamente e manipular seus dados como sendo simples dados primitivos, num
processo descrito como box e unbox (encaixotar e desencaixotar).
Por exemplo, se quisermos somar dois inteiros que estão dentro de dois objetos inteiros, não
precisaríamos fazer nada de especial, a não ser somá-los de fato, como se fossem dados
primitivos. Veja:
public class SomarIntegers {
    public static void main(String[] args) {
        Integer var1 = 25;
        Integer var2 = 75;
        int resultado = var1 + var2; // somando dois objetos
        System.out.println(resultado);
    }
}
A princípio, a classe abstrata Number nos proporciona um conjunto de métodos que,
logicamente, são possíveis acessar de qualquer classe numérica.

Obter Tipo Primitivo de um Objeto Numérico
Podemos utilizar os métodos *Value para obter um tipo primitivo de qualquer objeto numérico.
    • byteValue(): Obtém um valor primitivo byte.
    • shortValue(): Obtém um valor primitivo short (inteiro curto).
    • intValue(): Obtém um valor primitivo int (inteiro).
    • longValue(): Obtém um valor primitivo long (inteiro longo).
    • floatValue(): Obtém um valor primitivo float.
    • doubleValue(): Obtém um valor primitivo double.
Esses métodos são ótimos para passar de um tipo de dado para o outro sem nos
preocuparmos com indução de tipo ou typecasting, pois a mudança é feita diretamente pelo
objeto.
public class ConverterNumeros {
    public static void main(String[] args) {
        Byte meuByte = 5;
        Integer meuInt = 12345;
        Double meuDouble = 1234567.89;
        byte doubleParaByte = meuDouble.byteValue();
        int byteParaInteiro = meuByte.intValue();
        double inteiroParaDouble = meuInt.doubleValue();
        System.out.println("Byte: " + meuByte +
                " - para int: " + byteParaInteiro +
                "nInteger: " + meuInt +
                " - para double: " + inteiroParaDouble +
                "nDouble: " + meuDouble +


http://www.tiexpert.net/programacao/java/classe-integer-float-byte-short-long-double.php
www.tiexpert.net                                                                      Pág. 2 de 3
                     " - para byte: " + doubleParaByte);
     }
}

Comparar Números
Para comparação de números, há dois métodos: compareTo() e equals().
O método compareTo() compara o objeto com um outro objeto da mesma classe ou número
de tipo primitivo do mesmo tipo. Ele retorna 0 se o número comparado for igual, -1 se o
número for menor ou 1 se o número for maior.
Equals() funciona de forma semelhante. Ele indica se o número comparado é igual ao
argumento deste método, porém não diz se o argumento é maior ou menor que o valor do
objeto. Outra diferença fica por conta de seu retorno que é um valor booleano (true ou false).

Classes Integer, Float, Short, Byte, Long e Double
Agora que temos a base de todas as classes numéricas, iremos para a descrição dos métodos
contidos nessas classes, que apesar de diferentes, mantem uma similaridade muito grande.

Análise de Dados
A análise de dados consiste em tentar usar uma String que possa ser interpretada como tal
objeto numérico usando o comando parse*. Caso a String não possa ser interpretada como
um número, uma exceção (erro) é lançada.
    • Byte.parseByte(): analisa uma String para tenta atribuir um dado do tipo primitivo byte.
    • Short.parseShort(): analisa uma String para tenta atribuir um dado do tipo primitivo
      short.
    • Integer.parseInt(): analisa uma String para tenta atribuir um dado do tipo primitivo
      inteiro.
    • Long.parseLong(): analisa uma String para tenta atribuir um dado do tipo inteiro
      primitivo longo.
    • Float.parseFloat(): analisa uma String para tenta atribuir um dado do tipo primitivo
      float.
    • Double.parseDouble(): analisa uma String para tenta atribuir um dado do tipo primitivo
      double.
Se quisermos que, ao invés de um tipo primitivo de número, seja retornado um objeto,
podemos trocar qualquer parse* por valueOf().
Em tipos inteiros, além de valueOf(), também podemos trocar parseInt, parseByte, parseShort
e parseLong por decode().
Importante: As classes que se baseiam em números inteiros (Byte, Short, Long e Integer)
possuem um segundo argumento do tipo inteiro opcional nos métodos parse* que indica a
base do número inteiro, fazendo com que dessa forma possa ser interpretado números
Decimais (base 10), Binários (base 2), Octais (base 8) e Hexadecimais (base 16).
Decode também pode fazer este tipo de interpretação, mas não é necessário um segundo
argumento desde que a String respeite algumas convenções:
    • Não são aceitos espaços;
    • Não são aceitos números negativos;
    • Números octais devem começar com um 0 (ex.: "0377", "0400", "0401");
    • Números hexadecimais devem começar com 0x, 0X ou # (ex.: "0xFF", "0X100",
      "#101").



http://www.tiexpert.net/programacao/java/classe-integer-float-byte-short-long-double.php
www.tiexpert.net                                                                             Pág. 3 de 3
public class ParseEDecode {
    public static void main(String[] args) {
        String numero = "256";
        // retorna um dado do tipo int (inteiro)
        int tipoInteiro = Integer.parseInt(numero);
        // retorna um objeto da classe Integer (inteiro)
        Integer objetoInteiro = Integer.decode(numero);
        System.out.println("tipoInteiro: " + tipoInteiro +
                "nobjetoInteiro: " + objetoInteiro);
    }
}
Conversão Para String
Para converter qualquer objeto numérico para uma String podemos fazer uso de toString()
como qualquer outra classe.

                                                                                 Autor: Denys William Xavier
                           Fonte: http://java.sun.com/docs/books/tutorial/java/data/numberclasses.html
                                                           Este artigo está sob Licença Creative Commons
         Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/
   ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA.




http://www.tiexpert.net/programacao/java/classe-integer-float-byte-short-long-double.php

Mais conteúdo relacionado

Mais procurados

Java Básico
Java BásicoJava Básico
Java Básico
Wesley R. Bezerra
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
Luciano Ramalho
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
TV Pernambuco
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
Luciano Ramalho
 
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
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
Luciano Ramalho
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
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
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
Gabriel Faustino
 
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
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
Luciano Ramalho
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
Luciano Ramalho
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
Luciano Ramalho
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
Ludimila Monjardim Casagrande
 
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Tutorial aed iii   009 - algoritmo de ordenação heapsortTutorial aed iii   009 - algoritmo de ordenação heapsort
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Flávio Freitas
 
Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?
Marcel Caraciolo
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
Luciano Ramalho
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPonto
Paulo Morgado
 

Mais procurados (18)

Java Básico
Java BásicoJava Básico
Java Básico
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
Trabalho vetores
Trabalho vetoresTrabalho vetores
Trabalho vetores
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
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
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
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
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
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
 
Python: a primeira mordida
Python: a primeira mordidaPython: a primeira mordida
Python: a primeira mordida
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Tutorial aed iii 009 - algoritmo de ordenação heapsort
Tutorial aed iii   009 - algoritmo de ordenação heapsortTutorial aed iii   009 - algoritmo de ordenação heapsort
Tutorial aed iii 009 - algoritmo de ordenação heapsort
 
Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?Python 3.x - Ihh.. E agora ? Como faço ?
Python 3.x - Ihh.. E agora ? Como faço ?
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
As Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPontoAs Novidades Do C# 4.0 - NetPonto
As Novidades Do C# 4.0 - NetPonto
 

Destaque

Fast decor
Fast decorFast decor
Fast decor
Clayton Marques
 
My mart1
My mart1My mart1
My mart1
rully_hs
 
01 nuc-libre
01 nuc-libre01 nuc-libre
01 nuc-libre
Samad Keramatfar
 
O computador
O computadorO computador
O computador
Susana Cardoso
 
Dlfkghfbnfg
DlfkghfbnfgDlfkghfbnfg
Dlfkghfbnfg
Alejandro Trujillo
 
Filosofia hojas electronicas
Filosofia hojas electronicasFilosofia hojas electronicas
Filosofia hojas electronicas
VanessaGV94
 
Malba tahan - el hombre - js
  Malba tahan - el hombre - js  Malba tahan - el hombre - js
Malba tahan - el hombre - js
Javier SaaDapart
 
Met Gala 2012 do Costume Institute do Metropolitan Museum em Nova York
Met Gala 2012 do Costume Institute do Metropolitan Museum em Nova YorkMet Gala 2012 do Costume Institute do Metropolitan Museum em Nova York
Met Gala 2012 do Costume Institute do Metropolitan Museum em Nova York
Compras em Nova York
 
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)
Juliana Chahoud
 
Año de la promoción de la industria responsable y del compromiso climático
Año de la promoción de la industria responsable y del compromiso climáticoAño de la promoción de la industria responsable y del compromiso climático
Año de la promoción de la industria responsable y del compromiso climático
Pool Anthony Relicario Quispe
 
Ikar Lab - Plataforma Áudio Forense
Ikar Lab - Plataforma Áudio ForenseIkar Lab - Plataforma Áudio Forense
Ikar Lab - Plataforma Áudio Forense
Sergio Teixeira
 
Não faça estatística da vida
Não faça estatística da vidaNão faça estatística da vida
Não faça estatística da vida
LeniceHigino
 
Presentación july rozo..
Presentación july rozo..Presentación july rozo..
Presentación july rozo..
Johanospina13
 
Calendario 2012 de Datas Comemorativas
Calendario 2012 de Datas ComemorativasCalendario 2012 de Datas Comemorativas
Calendario 2012 de Datas Comemorativas
UMADECOL
 
Relatório sobre a moda no século xx com
Relatório sobre a moda no século xx comRelatório sobre a moda no século xx com
Relatório sobre a moda no século xx com
Aymmê Duarte
 
Presentación1
Presentación1Presentación1
Presentación1
trabesu
 
Palestra Argeu Silveira
Palestra Argeu SilveiraPalestra Argeu Silveira
Palestra Argeu Silveira
Genética Aditiva
 
Caracteristicas
CaracteristicasCaracteristicas
Caracteristicas
Alejandro Trujillo
 
Apresentação3
Apresentação3Apresentação3
Apresentação3
marcus000
 

Destaque (20)

Information systems analyst
Information systems analystInformation systems analyst
Information systems analyst
 
Fast decor
Fast decorFast decor
Fast decor
 
My mart1
My mart1My mart1
My mart1
 
01 nuc-libre
01 nuc-libre01 nuc-libre
01 nuc-libre
 
O computador
O computadorO computador
O computador
 
Dlfkghfbnfg
DlfkghfbnfgDlfkghfbnfg
Dlfkghfbnfg
 
Filosofia hojas electronicas
Filosofia hojas electronicasFilosofia hojas electronicas
Filosofia hojas electronicas
 
Malba tahan - el hombre - js
  Malba tahan - el hombre - js  Malba tahan - el hombre - js
Malba tahan - el hombre - js
 
Met Gala 2012 do Costume Institute do Metropolitan Museum em Nova York
Met Gala 2012 do Costume Institute do Metropolitan Museum em Nova YorkMet Gala 2012 do Costume Institute do Metropolitan Museum em Nova York
Met Gala 2012 do Costume Institute do Metropolitan Museum em Nova York
 
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)
 
Año de la promoción de la industria responsable y del compromiso climático
Año de la promoción de la industria responsable y del compromiso climáticoAño de la promoción de la industria responsable y del compromiso climático
Año de la promoción de la industria responsable y del compromiso climático
 
Ikar Lab - Plataforma Áudio Forense
Ikar Lab - Plataforma Áudio ForenseIkar Lab - Plataforma Áudio Forense
Ikar Lab - Plataforma Áudio Forense
 
Não faça estatística da vida
Não faça estatística da vidaNão faça estatística da vida
Não faça estatística da vida
 
Presentación july rozo..
Presentación july rozo..Presentación july rozo..
Presentación july rozo..
 
Calendario 2012 de Datas Comemorativas
Calendario 2012 de Datas ComemorativasCalendario 2012 de Datas Comemorativas
Calendario 2012 de Datas Comemorativas
 
Relatório sobre a moda no século xx com
Relatório sobre a moda no século xx comRelatório sobre a moda no século xx com
Relatório sobre a moda no século xx com
 
Presentación1
Presentación1Presentación1
Presentación1
 
Palestra Argeu Silveira
Palestra Argeu SilveiraPalestra Argeu Silveira
Palestra Argeu Silveira
 
Caracteristicas
CaracteristicasCaracteristicas
Caracteristicas
 
Apresentação3
Apresentação3Apresentação3
Apresentação3
 

Semelhante a Classe integer-float-byte-short-long-double

Java Desktop
Java DesktopJava Desktop
Java Desktop
ciceroclc
 
Java8
Java8Java8
05 classes utilitarias
05   classes utilitarias05   classes utilitarias
05 classes utilitarias
Artur Todeschini
 
Math
MathMath
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
Arthur Emanuel
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
Alvaro Oliveira
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
Natanael Fonseca
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
Wesley R. Bezerra
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
ssusere36c31
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
wildcat9335
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
Denis L Presciliano
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
Denis L Presciliano
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
Amélia Pessoa
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
Luciano Ramalho
 
Estruturas de Dados Básicas
Estruturas de Dados BásicasEstruturas de Dados Básicas
Estruturas de Dados Básicas
Sidney Roberto
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
Arthur Emanuel
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03
wammendes
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
Marcus Camargo
 
Java 07
Java 07Java 07
Java 07
samuelthiago
 

Semelhante a Classe integer-float-byte-short-long-double (20)

Java Desktop
Java DesktopJava Desktop
Java Desktop
 
Java8
Java8Java8
Java8
 
05 classes utilitarias
05   classes utilitarias05   classes utilitarias
05 classes utilitarias
 
Math
MathMath
Math
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Introdução a estruturas de dados em python
Introdução a estruturas de dados em pythonIntrodução a estruturas de dados em python
Introdução a estruturas de dados em python
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Curso Java Básico - Aula 03
Curso Java Básico - Aula 03Curso Java Básico - Aula 03
Curso Java Básico - Aula 03
 
Java Básico :: Introdução
Java Básico :: IntroduçãoJava Básico :: Introdução
Java Básico :: Introdução
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
 
Python2.5.ppt
Python2.5.pptPython2.5.ppt
Python2.5.ppt
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Pacotes e Encapsulamento
Pacotes e EncapsulamentoPacotes e Encapsulamento
Pacotes e Encapsulamento
 
Android - Dicas de Performance
Android - Dicas de PerformanceAndroid - Dicas de Performance
Android - Dicas de Performance
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Estruturas de Dados Básicas
Estruturas de Dados BásicasEstruturas de Dados Básicas
Estruturas de Dados Básicas
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Java basico modulo_03
Java basico modulo_03Java basico modulo_03
Java basico modulo_03
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Java 07
Java 07Java 07
Java 07
 

Mais de PAULO Moreira

Metodos
MetodosMetodos
Metodos
PAULO Moreira
 
5 estruturas de controle
5 estruturas de controle5 estruturas de controle
5 estruturas de controle
PAULO Moreira
 
3.2 introdução a linguagem java
3.2 introdução a linguagem java3.2 introdução a linguagem java
3.2 introdução a linguagem java
PAULO Moreira
 
3.1 introdução a linguagem java
3.1 introdução a linguagem java3.1 introdução a linguagem java
3.1 introdução a linguagem java
PAULO Moreira
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
PAULO Moreira
 
1. apresentação
1. apresentação1. apresentação
1. apresentação
PAULO Moreira
 
Showinputdialog
ShowinputdialogShowinputdialog
Showinputdialog
PAULO Moreira
 
Joptionpane
JoptionpaneJoptionpane
Joptionpane
PAULO Moreira
 
Negociação
NegociaçãoNegociação
Negociação
PAULO Moreira
 
Trabalho de empreendedorismo
Trabalho de empreendedorismoTrabalho de empreendedorismo
Trabalho de empreendedorismo
PAULO Moreira
 
Seminário de empreendedorismo
Seminário de empreendedorismoSeminário de empreendedorismo
Seminário de empreendedorismo
PAULO Moreira
 
7. ecologia
7. ecologia7. ecologia
7. ecologia
PAULO Moreira
 
6. conjuntura
6. conjuntura6. conjuntura
6. conjuntura
PAULO Moreira
 
5. as regras de ouro do bilionário carlos slim
5. as regras de ouro do bilionário carlos slim5. as regras de ouro do bilionário carlos slim
5. as regras de ouro do bilionário carlos slim
PAULO Moreira
 
8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...
8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...
8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...
PAULO Moreira
 
Empreendedorismo
EmpreendedorismoEmpreendedorismo
Empreendedorismo
PAULO Moreira
 
Interrupções e interconexões
Interrupções e interconexõesInterrupções e interconexões
Interrupções e interconexões
PAULO Moreira
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
PAULO Moreira
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computação
PAULO Moreira
 
Disco rígido - Hd
Disco rígido - HdDisco rígido - Hd
Disco rígido - Hd
PAULO Moreira
 

Mais de PAULO Moreira (20)

Metodos
MetodosMetodos
Metodos
 
5 estruturas de controle
5 estruturas de controle5 estruturas de controle
5 estruturas de controle
 
3.2 introdução a linguagem java
3.2 introdução a linguagem java3.2 introdução a linguagem java
3.2 introdução a linguagem java
 
3.1 introdução a linguagem java
3.1 introdução a linguagem java3.1 introdução a linguagem java
3.1 introdução a linguagem java
 
2.1 introdução a oo
2.1 introdução a oo2.1 introdução a oo
2.1 introdução a oo
 
1. apresentação
1. apresentação1. apresentação
1. apresentação
 
Showinputdialog
ShowinputdialogShowinputdialog
Showinputdialog
 
Joptionpane
JoptionpaneJoptionpane
Joptionpane
 
Negociação
NegociaçãoNegociação
Negociação
 
Trabalho de empreendedorismo
Trabalho de empreendedorismoTrabalho de empreendedorismo
Trabalho de empreendedorismo
 
Seminário de empreendedorismo
Seminário de empreendedorismoSeminário de empreendedorismo
Seminário de empreendedorismo
 
7. ecologia
7. ecologia7. ecologia
7. ecologia
 
6. conjuntura
6. conjuntura6. conjuntura
6. conjuntura
 
5. as regras de ouro do bilionário carlos slim
5. as regras de ouro do bilionário carlos slim5. as regras de ouro do bilionário carlos slim
5. as regras de ouro do bilionário carlos slim
 
8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...
8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...
8. marca cria cerveja e refrigerante solúvel para praticantes de esportes ao ...
 
Empreendedorismo
EmpreendedorismoEmpreendedorismo
Empreendedorismo
 
Interrupções e interconexões
Interrupções e interconexõesInterrupções e interconexões
Interrupções e interconexões
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
Funcionamento de um sistema de computação
Funcionamento de um sistema de computaçãoFuncionamento de um sistema de computação
Funcionamento de um sistema de computação
 
Disco rígido - Hd
Disco rígido - HdDisco rígido - Hd
Disco rígido - Hd
 

Classe integer-float-byte-short-long-double

  • 1. www.tiexpert.net Pág. 1 de 3 Classes Numéricas Estamos seguindo para, em breve, entrarmos nos tutoriais de programação usando SWING e AWT, resumidamente, janelas. Mas antes, veremos classes que se tornarão de extrema importância para o uso da manipulação dos dados. Essas classes são as que tem por base a classe abstrata Numbers e a classe String. Em Java, além de podermos utilizar os tipos primitivos de dados, também podemos usufruir de classes completas para o tratamento desses tipos primitivos. Isso é uma grande vantagem quando métodos necessitam ou retornam objetos ao invés de tipos primitivos (o que é muito comum com os objetos do pacote SWING e AWT). Outra vantagem dessas classes é que o próprio compilador é capaz de extrair os dados do objeto implicitamente e manipular seus dados como sendo simples dados primitivos, num processo descrito como box e unbox (encaixotar e desencaixotar). Por exemplo, se quisermos somar dois inteiros que estão dentro de dois objetos inteiros, não precisaríamos fazer nada de especial, a não ser somá-los de fato, como se fossem dados primitivos. Veja: public class SomarIntegers { public static void main(String[] args) { Integer var1 = 25; Integer var2 = 75; int resultado = var1 + var2; // somando dois objetos System.out.println(resultado); } } A princípio, a classe abstrata Number nos proporciona um conjunto de métodos que, logicamente, são possíveis acessar de qualquer classe numérica. Obter Tipo Primitivo de um Objeto Numérico Podemos utilizar os métodos *Value para obter um tipo primitivo de qualquer objeto numérico. • byteValue(): Obtém um valor primitivo byte. • shortValue(): Obtém um valor primitivo short (inteiro curto). • intValue(): Obtém um valor primitivo int (inteiro). • longValue(): Obtém um valor primitivo long (inteiro longo). • floatValue(): Obtém um valor primitivo float. • doubleValue(): Obtém um valor primitivo double. Esses métodos são ótimos para passar de um tipo de dado para o outro sem nos preocuparmos com indução de tipo ou typecasting, pois a mudança é feita diretamente pelo objeto. public class ConverterNumeros { public static void main(String[] args) { Byte meuByte = 5; Integer meuInt = 12345; Double meuDouble = 1234567.89; byte doubleParaByte = meuDouble.byteValue(); int byteParaInteiro = meuByte.intValue(); double inteiroParaDouble = meuInt.doubleValue(); System.out.println("Byte: " + meuByte + " - para int: " + byteParaInteiro + "nInteger: " + meuInt + " - para double: " + inteiroParaDouble + "nDouble: " + meuDouble + http://www.tiexpert.net/programacao/java/classe-integer-float-byte-short-long-double.php
  • 2. www.tiexpert.net Pág. 2 de 3 " - para byte: " + doubleParaByte); } } Comparar Números Para comparação de números, há dois métodos: compareTo() e equals(). O método compareTo() compara o objeto com um outro objeto da mesma classe ou número de tipo primitivo do mesmo tipo. Ele retorna 0 se o número comparado for igual, -1 se o número for menor ou 1 se o número for maior. Equals() funciona de forma semelhante. Ele indica se o número comparado é igual ao argumento deste método, porém não diz se o argumento é maior ou menor que o valor do objeto. Outra diferença fica por conta de seu retorno que é um valor booleano (true ou false). Classes Integer, Float, Short, Byte, Long e Double Agora que temos a base de todas as classes numéricas, iremos para a descrição dos métodos contidos nessas classes, que apesar de diferentes, mantem uma similaridade muito grande. Análise de Dados A análise de dados consiste em tentar usar uma String que possa ser interpretada como tal objeto numérico usando o comando parse*. Caso a String não possa ser interpretada como um número, uma exceção (erro) é lançada. • Byte.parseByte(): analisa uma String para tenta atribuir um dado do tipo primitivo byte. • Short.parseShort(): analisa uma String para tenta atribuir um dado do tipo primitivo short. • Integer.parseInt(): analisa uma String para tenta atribuir um dado do tipo primitivo inteiro. • Long.parseLong(): analisa uma String para tenta atribuir um dado do tipo inteiro primitivo longo. • Float.parseFloat(): analisa uma String para tenta atribuir um dado do tipo primitivo float. • Double.parseDouble(): analisa uma String para tenta atribuir um dado do tipo primitivo double. Se quisermos que, ao invés de um tipo primitivo de número, seja retornado um objeto, podemos trocar qualquer parse* por valueOf(). Em tipos inteiros, além de valueOf(), também podemos trocar parseInt, parseByte, parseShort e parseLong por decode(). Importante: As classes que se baseiam em números inteiros (Byte, Short, Long e Integer) possuem um segundo argumento do tipo inteiro opcional nos métodos parse* que indica a base do número inteiro, fazendo com que dessa forma possa ser interpretado números Decimais (base 10), Binários (base 2), Octais (base 8) e Hexadecimais (base 16). Decode também pode fazer este tipo de interpretação, mas não é necessário um segundo argumento desde que a String respeite algumas convenções: • Não são aceitos espaços; • Não são aceitos números negativos; • Números octais devem começar com um 0 (ex.: "0377", "0400", "0401"); • Números hexadecimais devem começar com 0x, 0X ou # (ex.: "0xFF", "0X100", "#101"). http://www.tiexpert.net/programacao/java/classe-integer-float-byte-short-long-double.php
  • 3. www.tiexpert.net Pág. 3 de 3 public class ParseEDecode { public static void main(String[] args) { String numero = "256"; // retorna um dado do tipo int (inteiro) int tipoInteiro = Integer.parseInt(numero); // retorna um objeto da classe Integer (inteiro) Integer objetoInteiro = Integer.decode(numero); System.out.println("tipoInteiro: " + tipoInteiro + "nobjetoInteiro: " + objetoInteiro); } } Conversão Para String Para converter qualquer objeto numérico para uma String podemos fazer uso de toString() como qualquer outra classe. Autor: Denys William Xavier Fonte: http://java.sun.com/docs/books/tutorial/java/data/numberclasses.html Este artigo está sob Licença Creative Commons Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.5/br/ ou envie uma carta para Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. http://www.tiexpert.net/programacao/java/classe-integer-float-byte-short-long-double.php