Javaエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnetJava
  2. Javaコラム
  3. Java入門
  4. Javaの基本APIを解説します

Javaの基本APIを解説します

  • Java入門
公開日時:   更新日時:
Javaの基本APIを解説します
この記事でわかること
    システム
    エンジニア
    JaveのAPIとは何の略なのでしょうか。
    プロジェクト
    マネージャー
    Application Programming Interfaceの略です。

    JavaのAPIとは?


    APIとは、Application Programming Interfaceの略です。

    この言葉自体にはアプリのプログラムで呼び出されるメソッドという程度の意味しかありませんが、一般的にはプログラム言語で最初から用意されている機能がAPI、または標準APIと呼ばれます。

    Javaには豊富な標準APIが用意されているので、Java環境をインストールするだけで様々なことができます。

    この記事では、そういった標準APIの中でよく使う基本的なものをご紹介します。

    java.langは最も基本的なAPI

    Javaで最も基本的なAPIは「Java.langパッケージ」です。

    このパッケージの機能があれば、基本的なプログラムが作れます。その中でもよく使う機能は、「Stringクラス」と「Systemクラス」です。

    以下は、文字列の””Hello World!””をコンソールに表示するコードです。

    java.lang.String str = “”Hello World!””;
    java.lang.System.out.println(str);

    Java.langは、Javaでも基本中の基本であるAPIのため、以下のように省略することが普通になっています。

    String str = “”Hello World!””;
    System.out.println(str);

    Object型は全ての基本

    Java.langパッケージの「Objectクラス」は最も重要なクラスです。

    なぜなら全てのクラスは、このObjectクラスの子クラスだからです。以下の””””で囲った文字列はString型ですが、親クラスのObject型の変数で参照することができます。

    Object obj = “”文字列です。””;
    System.out.println(obj);

    JavaのObject型は、以下のようにクラス型ではない数値も扱うことができます。この機能をオートボクシングと言います。

    Object obj = 123;
    System.out.println(obj.getClass());

    オートボクシング後のgetClass()の結果は以下のようになります。数値はInteger型に変換されることを意味しています。

    このクラスもint型の数値を保持できるクラスとしてよく利用されます。

    class java.lang.Integer

    java.ioパッケージはファイル読み書きで使用する

    「java.ioパッケージ」は、ファイルの読み書きで利用するAPIです。

    なお、java.langパッケージ以外を利用する場合は、以下のようにAPIを利用するための宣言が必要になります。

    ソースの先頭にimport java.io.*;を追加し、以下のように利用します。

    import java.io.*;

    File file1 = new File(“”c:\\test\\test1.txt””);
    File file2 = new File(“”c:\\test\\test2.txt””);

    try(FileReader fr = new FileReader(file1);
    BufferedReader br = new BufferedReader(fr);
    FileWriter wr = new FileWriter(file2);
    BufferedWriter bw = new BufferedWriter(wr);) {
    String str = br.readLine();
    while(str!=null) {
    bw.write(str+System.lineSeparator());
    str = br.readLine();
    }
    }
    catch (Exception e) {
    e.printStackTrace();
    }

    ファイル読み書き処理の解説

    上のJavaサンプルでは、テキストファイルのtest1.txtの内容を1行ずつ読み取って、test2.txtにその内容を書き込んでいます。

    このようなファイル読み書き処理は、終了後にCloseが必要ですが、try()のカッコ内に記述することで自動的にCloseしてくれます。

    また、System.lineSeparator()と打ち込めば、実行している環境の改行コードを取得できます。br.readLine();で改行コードが除かれているため、この指令で書き込む時に付与を実行します。

    java.utilパッケージはとても便利

    「java.utilパッケージ」は便利な機能を持っています。多く使われるのは複数の要素を格納するのに便利なArrayListです。

    以下を実行する場合は、Javaのソースの先頭に「import java.util.*;」を追加してください。

    import java.util.*;

    ArrayList<String> list = new ArrayList<String>();
    list.add(“”太郎””);
    list.add(“”二郎””);
    list.add(“”花子””);
    list.remove(“”二郎””);

    for (Iterator<String> it = list.iterator(); it.hasNext();) {
    System.out.println(it.next());
    }

    実行結果は、

    太郎
    花子

    となります。ArryaListは要素の追加や削除も自由自在です。配列ではそれができないので、ArrayListが多く使われます。

    HashMapとHashSet

    java.utilパッケージの「HashMap」は、以下のように、キーと値がセットになっているデータを扱えます。

    HashMap<String, String> map = new HashMap<String, String>();
    map.put(“”学級委員””, “”太郎””);
    map.put(“”飼育係””, “”花子””);
    System.out.println(map.get(“”飼育係””));

    上のJavaサンプルを実行すると「花子」と表示されます。

    また「HashSet」は、重複要素を除いたデータを扱えます。

    HashSet set = new HashSet();
    set.add(“”太郎””);
    set.add(“”花子””);
    set.add(“”太郎””);

    for (Iterator it = set.iterator(); it.hasNext();) {
    System.out.println(it.next());
    }

    実行結果は以下になります。HashSetに同じ要素を追加しても無視されます。

    太郎
    花子

    DateとCalendarとLocalDate

    java.utilパッケージの「Dateクラス」も、Javaではよく使用します。

    System.out.println(new Date());

    を実行すると、以下のような結果を得られます。

    Thu Oct 01 15:34:06 JST 2020

    ただし、月や日を取得する場合は、Calendarクラスが推奨されています。

    Calendar c = Calendar.getInstance();
    System.out.println(c.get(Calendar.YEAR)); // 年
    System.out.println(c.get(Calendar.MONTH)); // 月
    System.out.println(c.get(Calendar.DATE)); // 日
    System.out.println(c.get(Calendar.HOUR)); // 時
    System.out.println(c.get(Calendar.MINUTE)); // 分

    なお、Calendarクラスは、デフォルトではグローバル時間基準で、月が1ではなく0から始まります。ローカル時間で月を1から始めたい場合は、java.timeパッケージのLocalDateを利用しましょう。

    LocalDate ld = LocalDate.now();
    System.out.println(ld.getMonthValue());

    システム
    エンジニア
    基本的なjava.langのほかにも、さまざまなAPIがあるのですね。
    プロジェクト
    マネージャー
    ここで触れたAPIはごく一部で、JavaにはたくさんのAPIが存在します。

    Javaにはまだ多くのAPIが存在する

    この記事では、Javaの基本的なAPIについてご紹介してきました。ここで触れたAPIはごく一部で、JavaにはたくさんのAPIが存在します。

    知識量はスキルに直結するので、ご自分で色々と試しながら、できるだけ多くのAPIを知ってください。

    FEnetJava・Javaコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    Java新着案件New Job