Використання пакетів

Типи даних і винятки в Java

Jim White

Java Developer

Що таке пакети Java?

  • Пакети впорядковують код Java
    • Пакет як файлова текa або директорія
    • Об'єднує пов'язаний код Java (класи, інтерфейси, переліки тощо)
  • Як файлові теки
    • Кожен пакет має назву

Пакети Java схожі на файлові теки й шафу з папками для впорядкування коду

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Типи даних і винятки в Java

Типи пакетів

  • Вбудовані пакети
    • Частина Java
    • Назва починається з "java" або "javax"
  • Користувацькі пакети
    • Пакети, які ми визначаємо
    • Пакети від сторонніх постачальників
Типи даних і винятки в Java

Назви пакетів

  • Назви пакетів мають усталену конвенцію
    • Пишуться малими літерами
    • Частини розділяють крапками (.)
  • Вбудовані пакети
    • Починаються з java або javax
    • Решта назви підказує призначення
  • Назви користувацьких пакетів
    • Починаються з домену організації у зворотному порядку
    • Решта назви описує функціональність
  • Приклади вбудованих пакетів

    java.security
    java.time
    
  • Приклади назв користувацьких пакетів

    com.mycompany.myproject
    com.mycompany.myproject.account
    com.mycompany.myproject.controller
    com.mycompany.myproject.ui
    
Типи даних і винятки в Java

Вбудовані пакети

Деякі поширені вбудовані пакети

Package Містить/Надає
java.lang Базові класи підтримки мови
java.io Операції вводу/виводу
java.util.logging Фреймворк для журналювання
java.math Точну цілочислову й десяткову арифметику
java.net Мережеві операції
java.util Дату/час і структури даних як-от Linked List, Dictionary, та допоміжне
java.security Фреймворк безпеки
Типи даних і винятки в Java

java.math

  • java.math надає класи для арифметики
    • Використовується в криптографії, науці та фінансах/грошах
  • BigInteger для подання великих цілих
    • Цілі, що перевищують можливості int або long
    • Для роботи з цілими майже необмеженої довжини
  • BigDecimal для подання дуже великих або малих чисел з плаваючою крапкою
    • Вирішує проблеми округлення з float або double
Типи даних і винятки в Java

Використання пакетів

  • Використовуйте import + назву пакета зверху файлу
import java.math.BigInteger;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
}
  • Пакети можуть містити багато типів.
    • Використайте *, щоб імпортувати всі типи з пакета
import java.math.*;
public class HelloWorld {
  BigInteger acct = new BigInteger("123");
  BigDecimal pi = new BigDecimal("3.14");
}
Типи даних і винятки в Java

BigInteger і BigDecimal з java.math

  • BigInteger і BigDecimal — обгортки для великих чисел
  • Створюйте їх з String або числа
  • Мають методи add, subtract, multiply і divide
  • Є додаткові методи, як-от pow (ступінь)
// 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
Типи даних і винятки в Java

Методи BigInteger і BigDecimal

Method Опис
abs() Абсолютне значення цілого
add(x) Додати x до цілого або десяткового
divide(x) Поділити ціле або десяткове на x
multiply(x) Помножити ціле або десяткове на x
negate() Змінити знак цілого або десяткового
pow(int x) Піднести ціле або десяткове до степеня x
subtract(x) Відняти x від цілого або десяткового
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
Типи даних і винятки в Java

Імпорт не потрібен

  • Важливо: пакет java.lang імпортується автоматично.
    • Коли ви використовуєте щось із java.lang, імпорт не потрібен
  • java.lang містить System, String, класи-обгортки та Exception.
    • Тому ми можемо вчити й використовувати базові елементи мови без явного імпорту.
Типи даних і винятки в Java

Давайте потренуємось!

Типи даних і винятки в Java

Preparing Video For Download...