Použití balíčků

Datové typy a výjimky v Javě

Jim White

Java Developer

Co jsou javové balíčky?

  • Balíčky organizují kód v Javě
    • Balíček funguje jako složka nebo adresář
    • Sdružuje související kód (třídy, rozhraní, výčty atd.)
  • Jako složky souborů
    • Každý balíček má název

Javové balíčky jsou jako složky a kartotéka pro organizaci kódu

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Datové typy a výjimky v Javě

Typy balíčků

  • Vestavěné balíčky
    • Součást Javy
    • Název začíná „java" nebo „javax"
  • Uživatelsky definované balíčky
    • Balíčky, které sami definujeme
    • Balíčky od třetích stran
Datové typy a výjimky v Javě

Názvy balíčků

  • Názvy balíčků se řídí konvencí
    • Psány pouze malými písmeny
    • Části názvu odděleny tečkami (.)
  • Vestavěné balíčky
    • Začínají java nebo javax
    • Zbytek názvu naznačuje účel
  • Uživatelsky definované názvy
    • Začínají obrácenou doménou organizace
    • Zbytek názvu naznačuje funkcionalitu
  • Příklady vestavěných balíčků

    java.security
    java.time
    
  • Příklady uživatelsky definovaných názvů

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Datové typy a výjimky v Javě

Vestavěné balíčky

Nejpoužívanější vestavěné balíčky

Balíček Obsah / Funkce
java.lang Základní třídy jazyka
java.io Vstupní / výstupní operace
java.util.logging Logovací framework
java.math Přesná aritmetika celých a desetinných čísel
java.net Síťové operace
java.util Datum / čas a datové struktury (spojový seznam, slovník apod.)
java.security Bezpečnostní framework
Datové typy a výjimky v Javě

java.math

  • java.math poskytuje třídy pro aritmetiku
    • Používá se v kryptografii, vědě a finančních aplikacích
  • BigInteger pro reprezentaci velkých celých čísel
    • Čísla větší, než zvládne int nebo long
    • Práce s celými čísly téměř neomezeného počtu číslic
  • BigDecimal pro velmi velká nebo malá desetinná čísla
    • Řeší chyby zaokrouhlování u float nebo double
Datové typy a výjimky v Javě

Použití balíčků

  • Použijte import + název balíčku na začátku
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • Balíčky mohou obsahovat mnoho typů.
    • Použijte * pro import všech typů v balíčku
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Datové typy a výjimky v Javě

BigInteger & BigDecimal z java.math

  • BigInteger a BigDecimal slouží jako obálky pro velká čísla
  • Vytváří se pomocí String nebo číselné hodnoty
  • Obsahují metody add, subtract, multiply a divide
  • Nabízejí další metody, například pow pro mocninu
// Imports go at the top of the class
import java.math.BigInteger;
import java.math.BigDecimal;

// Create BigInteger or BigDecimal with String
BigInteger big = new BigInteger("1000");
BigInteger ten = new BigInteger("10");
BigDecimal pi = new BigDecimal("3.14");
// Using a primitive to create 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
Datové typy a výjimky v Javě

Metody BigInteger a BigDecimal

Metoda Popis
abs() Absolutní hodnota čísla
add(x) Přičte x k číslu
divide(x) Vydělí číslo hodnotou x
multiply(x) Vynásobí číslo hodnotou x
negate() Negace čísla
pow(int x) Číslo na mocninu x
subtract(x) Odečte x od čísla
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
Datové typy a výjimky v Javě

Import není potřeba

  • Důležité – balíček java.lang se importuje automaticky.
    • Použití čehokoli z java.lang nevyžaduje import
  • java.lang obsahuje System, String, obalové třídy a Exception.
    • Proto lze používat základní prvky jazyka bez viditelného importu.
Datové typy a výjimky v Javě

Pojďme si procvičit!

Datové typy a výjimky v Javě

Preparing Video For Download...