パッケージの使用

Javaにおけるデータ型と例外処理

Jim White

Java Developer

Java のパッケージとは

  • パッケージは Java コードを整理する仕組み
    • ファイルフォルダ/ディレクトリのように働く
    • 関連するコード(クラス、インターフェース、enum など)をまとめる
  • フォルダと同様
    • 各パッケージには名前がある

Java のパッケージは、コードを整理するためのフォルダやキャビネットのようなもの

1 Image from https://commons.wikimedia.org/wiki/File:File_Cabinet.jpg
Javaにおけるデータ型と例外処理

パッケージの種類

  • 既存パッケージ(Built-in)
    • 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 Contains/Provides
java.lang 基本言語サポートクラス
java.io 入出力処理
java.util.logging ロギング基盤
java.math 高精度の整数・小数演算
java.net ネットワーク処理
java.util 日付/時刻、Linked List・Dictionary などのデータ構造とサポート
java.security セキュリティ基盤
Javaにおけるデータ型と例外処理

java.math

  • java.math は算術用のクラスを提供
    • 暗号、科学、通貨/金額で使用
  • BigInteger は大きな整数を表す
    • intlong を超える整数に対応
    • ほぼ無限桁の整数を扱える
  • BigDecimal は非常に大きい/小さい浮動小数を表す
    • floatdouble の丸め誤差に対処
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におけるデータ型と例外処理

java.math の BigInteger と BigDecimal

  • BigIntegerBigDecimal は大きな数値のラッパー
  • String または数値で生成
  • addsubtractmultiplydivide を提供
  • ほかに 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 Description
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 の要素は import 不要
  • java.lang には SystemString、ラッパークラス、Exception などが含まれる
    • 基本要素を import なしで使える理由
Javaにおけるデータ型と例外処理

Passons à la pratique !

Javaにおけるデータ型と例外処理

Preparing Video For Download...