KATOエンジニヤリング開発日誌

「アウトプット無きエンジニアにインプットもチャンスも無い」の精神で書いています

Javaのクラスライブラリとオブジェクト配列について学ぶ

「Javaプログラミング技法」の第8回目の授業内容まとめになります。

※前回授業の内容はこちら

www.kato-eng.info

クラスライブラリ

Javaにはプログラム開発でよく使われる機能をまとめたクラスが多くあり、これらの作成済のクラスを部品として使うことで0からプログラムを作成するよりも作業量の軽減になり、且つバグの混入を減らすことができる。これらのクラスをクラスライブラリと呼ぶ。

クラスライブラリの調べ方

クラスライブラリは数多くあるため、自分が実現したいアルゴリズムをライブラリから探す必要がある。その場合、Javaが公式で提供するすべてのクラスに関する情報が記載されているJavaAPIのドキュメントから探すことができる。

標準ライブラリの情報源

  • Java SEのドキュメント

ホーム: Java Platform, Standard Edition (Java SE) 8リリース8

  • JavaDOC

Java Platform SE 8

代表的な標準ライブラリのパッケージ例

パッケージ 機能
java.lang データ型、プロセス、スレッド
java.math 数学関数、任意精度計算
java.net ネットワーク(ソケット、HTTP、HTTPS)
java.io, java.nio I/O(ファイル、ストリーム、バッファ)
java.security セキュリティ(公開鍵暗号、ハッシュ関数)
java.sql データベース処理(SQL)
java.text テキスト処理(日付、数値の書式)
java.util リスト、連想配列等のユーティリティ
java.util.zip zip/gzipファイルの読み書き
java.util.concurrent 並行処理(アトミック演算)
java.lang.reflect リフレクション

変数の代入

基本型の代入

class Example {
    public static void main(String[] args) {
        int x, y;
        x = 10;
        y = x;
        System.out.println("x:" + x);
        System.out.println("y:" + y);
        x = 20;
        System.out.println("x:" + x);
        System.out.println("y:" + y);
    }
}

上記プログラムの出力結果は下記のようになる。

x:10
y:10
x:20
y:10

int型の変数「y」には変数「x」の値がコピーされており、その後に変数「x」に違う値を再代入しても変数「y」の値は変わらない。基本型の場合、変数が示すアドレスには代入した値が入っていることになる。

オブジェクト型の代入

// Student.java

class Student {
    // インスタンス変数「id」の宣言
    public int id;

    // インスタンスメソッド「getID」の宣言
    public int getID() {
        return this.id;
    }
}
class Example {
    public static void main(String[] args) {
        Student student1 = new Student();
        student1.id = 10;

        Student student2 = new Student();
        student2.id = 20;

        // student1にstudent2に代入
        student1 = student2;

        student1.id = 30;

        System.out.println("student1のID:" + student1.id);
        System.out.println("student2のID:" + student2.id);
    }
}

上記プログラムの出力結果は下記のようになる。

student1のID:30
student2のID:30

Student型の変数「student1」のフィールド「id」には10を、Student型の変数「student2」のフィールド「id」には20を代入する。その後student1にstudent2のオブジェクトを代入し、student1のフィールド「id」に30を代入する。その後student1とstudent2のidを出力すると、どちらのidも「30」が代入されていることがわかる。

オブジェクト型の場合、変数が示すアドレスにはインスタンスが格納されているアドレスを示していることがわかる。

※次回授業の内容はこちら

www.kato-eng.info