Usando pacotes

Tipos de Dados e Exceções em Java

Jim White

Java Developer

O que são pacotes Java?

  • Pacotes organizam o código Java
    • Um pacote funciona como uma pasta ou diretório
    • Reúne código relacionado (classes, interfaces, enums etc.)
  • Como pastas de arquivos
    • Cada pacote tem um nome

Pacotes Java são como pastas e um arquivo de gavetas para organizar código

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Tipos de Dados e Exceções em Java

Tipos de pacotes

  • Pacotes embutidos
    • Parte do Java
    • O nome começa com "java" ou "javax"
  • Pacotes definidos pelo usuário
    • Pacotes que definimos
    • Pacotes obtidos de terceiros
Tipos de Dados e Exceções em Java

Nomes de pacotes

  • Nomes de pacotes seguem uma convenção
    • Sempre em minúsculas
    • Use pontos (.) para separar partes do nome
  • Pacotes embutidos
    • Começam com java ou javax
    • O restante do nome sugere o propósito
  • Nomes de pacotes definidos pelo usuário
    • Começam com o domínio da organização invertido
    • O restante do nome sugere a funcionalidade
  • Exemplos de pacotes embutidos

    java.security
    java.time
    
  • Exemplos de nomes de pacotes definidos pelo usuário

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Tipos de Dados e Exceções em Java

Pacotes embutidos

Alguns pacotes embutidos comuns

Package Contém/Fornece
java.lang Classes básicas de suporte à linguagem
java.io Operações de entrada/saída
java.util.logging Framework de logging
java.math Aritmética inteira e decimal com precisão
java.net Operações de rede
java.util Data/hora e estruturas de dados como Linked List, Dictionary e suporte
java.security Framework de segurança
Tipos de Dados e Exceções em Java

java.math

  • java.math fornece classes para aritmética
    • Usado em aplicações criptográficas, científicas e financeiras
  • BigInteger para representar inteiros grandes
    • Inteiros maiores do que int ou long suportam
    • Para trabalhar com inteiros de quase ilimitados dígitos.
  • BigDecimal para representar números de ponto flutuante muito grandes ou pequenos
    • Lida com erros de arredondamento que podem ocorrer com float ou double
Tipos de Dados e Exceções em Java

Usando pacotes

  • Use import + nome do pacote no topo
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • Pacotes podem conter muitos tipos.
    • Use * para importar todos os tipos do pacote
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Tipos de Dados e Exceções em Java

BigInteger e BigDecimal de java.math

  • BigInteger e BigDecimal agem como wrappers para números grandes
  • Construa-os usando uma String ou número
  • Têm métodos add, subtract, multiply e divide
  • Têm métodos adicionais como pow para potência
// Imports vão no topo da classe
import java.math.BigInteger;
import java.math.BigDecimal;

// Crie BigInteger ou BigDecimal com String
BigInteger big = new BigInteger("1000");
BigInteger ten = new BigInteger("10");
BigDecimal pi = new BigDecimal("3.14");
// Usando um primitivo para criar BigDecimal
BigDecimal one = new BigDecimal(1.0);
BigInteger x = big.add(ten); // = 1010
BigDecimal y = pi.add(one); // = 4.14
BigInteger bigSqr = big.pow(2); // = 1000000
BigDecimal piCubed = pi.pow(3); // = 30.959144
Tipos de Dados e Exceções em Java

Métodos de BigInteger e BigDecimal

Method Descrição
abs() Valor absoluto do inteiro
add(x) Soma x ao inteiro ou decimal
divide(x) Divide o inteiro ou decimal por x
multiply(x) Multiplica o inteiro ou decimal por x
negate() Nega o inteiro ou decimal
pow(int x) O inteiro ou decimal elevado a x
subtract(x) Subtrai x do inteiro ou decimal
1 See https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html and https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html
Tipos de Dados e Exceções em Java

Import não é necessário

  • Importante: o pacote java.lang é importado automaticamente.
    • Ao usar algo de java.lang, não é preciso importar
  • java.lang inclui System, String, as classes wrapper e Exception.
    • Explica por que podemos aprender e usar a base da linguagem sem ver imports.
Tipos de Dados e Exceções em Java

Vamos praticar!

Tipos de Dados e Exceções em Java

Preparing Video For Download...