Utilizarea pachetelor

Tipuri de date și excepții în Java

Jim White

Java Developer

Ce sunt pachetele Java?

  • Pachetele organizează codul Java
    • Un pachet funcționează ca un dosar sau director
    • Grupează codul Java înrudit (clase, interfețe, enumerări etc.)
  • Ca dosarele de fișiere
    • Fiecare pachet are un nume

Pachetele Java sunt ca dosarele și fișetele pentru organizarea codului

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Tipuri de date și excepții în Java

Tipuri de pachete

  • Pachete integrate
    • Parte din Java
    • Numele începe cu "java" sau "javax"
  • Pachete definite de utilizator
    • Pachete pe care le definim
    • Pachete obținute de la terți
Tipuri de date și excepții în Java

Numele pachetelor

  • Numele pachetelor respectă o convenție
    • Scrise cu litere mici
    • Se folosesc puncte (.) pentru a delimita componentele
  • Pachete integrate
    • Încep cu java sau javax
    • Restul numelui sugerează scopul
  • Pachete definite de utilizator
    • Încep cu inversul domeniului organizației
    • Restul numelui sugerează funcționalitatea
  • Exemple de pachete integrate

    java.security
    java.time
    
  • Exemple de pachete definite de utilizator

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Tipuri de date și excepții în Java

Pachete integrate

Pachete integrate frecvent utilizate

Pachet Conținut/Funcționalitate
java.lang Clase de bază ale limbajului
java.io Operații de intrare/ieșire
java.util.logging Framework de jurnalizare
java.math Aritmetică de precizie pentru întregi și zecimale
java.net Operații de rețea
java.util Dată/oră și structuri de date (Liste înlănțuite, Dicționare etc.)
java.security Framework de securitate
Tipuri de date și excepții în Java

java.math

  • java.math oferă clase pentru aritmetică
    • Utilizat în aplicații criptografice, științifice și financiare
  • BigInteger pentru numere întregi mari
    • Întregi mai mari decât int sau long
    • Lucrează cu întregi cu aproape oricâte cifre.
  • BigDecimal pentru numere în virgulă mobilă foarte mari sau mici
    • Evită erorile de rotunjire ale float sau double
Tipuri de date și excepții în Java

Utilizarea pachetelor

  • Utilizați import + numele pachetului la început
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • Pachetele pot conține mai multe tipuri.
    • Utilizați * pentru a importa toate tipurile din pachet
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Tipuri de date și excepții în Java

BigInteger & BigDecimal din java.math

  • BigInteger și BigDecimal sunt clase înveliș pentru numere mari
  • Se construiesc cu un String sau o valoare numerică
  • Au metodele add, subtract, multiply și divide
  • Au metode suplimentare, precum pow pentru putere
// 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
Tipuri de date și excepții în Java

Metode BigInteger și BigDecimal

Metodă Descriere
abs() Valoarea absolută a întregului
add(x) Adaugă x la întreg sau zecimal
divide(x) Împarte întregul sau zecimalul la x
multiply(x) Înmulțește întregul sau zecimalul cu x
negate() Negează întregul sau zecimalul
pow(int x) Întregul sau zecimalul la puterea x
subtract(x) Scade x din întreg sau zecimal
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
Tipuri de date și excepții în Java

Import neobligatoriu

  • Important - pachetul java.lang este importat automat.
    • Nu necesită un import explicit
  • java.lang include System, String, clasele înveliș și Exception.
    • De aceea putem folosi elementele de bază ale limbajului fără a vedea un import.
Tipuri de date și excepții în Java

Să exersăm!

Tipuri de date și excepții în Java

Preparing Video For Download...