実はStringもライブラリーの一つです。ライブラリーとは「同じような処理を一まとめにパッケージングしたもの」です。ここではJavaに標準で用意されているライブラリを使って、効率良くプログラムを組んでみましょう!
標準ライブラリーについて
標準ライブラリーとは「Javaにあらかじめ用意されているライブラリー」のことです。ちなみにJava謹製じゃない第三者が作ったJavaライブラリーは「サードパーティライブラリー」と呼びます。これらを総称して「クラスライブラリー」と呼んだりもします。
ではJava謹製のライブラリーはどれくらいあるのかという点ですが、ものすごい数があります。全てを完璧に覚えている人は多分Java開発者の中にはいないんじゃないかと思います。
ですが、その中でも「どんなシステムでもJavaを使うなら大体使うであろう」ライブラリーをまとめたパッケージがあります。それが「java.lang」パッケージです。
java.langパッケージの中身については下記ページを参照ください。
通常、ライブラリーを使う場合はインポートという処理をするんですが、java.langは非常によく使われるため、特例としてインポート処理をしないで使えるようになっています(ちなみにStringもjava.lang内にあります)。
標準ライブラリーはこの他にも、日付を扱うDateライブラリーや、複雑な計算ができるMathライブラリーなどがあります(これらのライブラリーについては後述します)。
オブジェクトで扱うクラスとは
ライブラリーのことをクラスライブラリーと呼ぶ、と先ほど説明しましたが、その理由はJavaのライブラリーはクラスでできているからです。
クラスについては「プログラムを実行してみよう!Javaの基本構造とコンパイルの流れを解説」でも解説しましたが、基本的には「何らかの物の設計図」です。
オブジェクトはそのクラスを実体化した「実際に使うことのできる物」だと考えてください。
前回のStringの回でも説明しましたが、オブジェクトを生成するにはnew演算子を使います。これはライブラリーを扱う上で必要になりますので、覚えておきましょう。
String s = new String(“Hello Java World!”);
Dateクラスを使ってみる
では実際にライブラリーを使ってみましょう。今回はDateとMathというライブラリーを使ってみます。まずはDateから使っていきます。Dateは日時関連の処理をまとめたライブラリーです。
[Main. java]
1 2 3 4 5 6 7 8 9 |
package java_study; import java.util.Date; //Dateをインポートして使えるようにする public class Main { public static void main(String[] args) { Date d = new Date(); //new演算子でDateのオブジェクトを生成し、現在時刻を取得する System.out.println(d); //現在時刻を出力 } } |
コンソール
Sat Mar 28 15:47:33 JST 2020
まず初めにimport文でDateライブラリーをインポートして、プログラム内で使えるようにしています。
「java.Util.Date」となっていますが、これは「java」パッケージの下の「Utilパッケージの下の」「Dateクラス」という意味です。
次にDate d = new Date();でDateオブジェクトを生成しています。生成されたDateは現在時刻を保持します。
最後にSystem.out.println()で現在時刻を出力しています。
複雑な計算はMathクラスを使おう
Mathは複雑な計算をする場合に役立つライブラリーです。例えばpow()を使うことで累乗を、sqrt()を使うことで平方根の計算が簡単できます。
それぞれのメソッドを使ってみましょう。
[Main.java]
1 2 3 4 5 6 7 8 9 10 |
package java_study; public class Main { public static void main(String[] args) { double pow_result = Math.pow(2, 16); System.out.println(pow_result); double sqrt_result = Math.sqrt(2); System.out.println(sqrt_result); } } |
コンソール
65536.0
1.4142135623730951
上記の例は、pow()では2の16乗を、sqrt()では2の平方根を求め、結果をdoubleで取得しています(これはpow()もsqrt()も戻り値がdouble型だからです)。
MathはStringと同じくjava.lang内にあるライブラリーなので、インポートをする必要はありません。
ラッパークラスについて
次はラッパークラスについて見ていきましょう。ラッパークラスとは「基本データ型や他のクラスなどを使いやすくするために作られたクラス」のことです。
例えばStringクラスもラッパークラスです。Stringはcharの文字を文字列として扱いやすくするために作られたクラスです。
Javaには他にも様々なラッパークラスがありますが、ここではIntegerクラスについて見ていきましょう。お気づきかもしれませんが、Integerはint型を扱いやすくしたラッパークラスです。
Integerは他のデータ型への変換を容易にしてくれるメソッドが多く存在します。特にStringへの変換は非常によく使われています。
[Main.java]
1 2 3 4 5 6 7 8 9 10 11 |
package java_study; public class Main { public static void main(String[] args) { Integer i = 100; String s = i.toString(); double d = i.doubleValue(); System.out.println(s); System.out.println(d); } } |
コンソール
100 👈 数値の「100」を文字列に変換して出力
100.0 👈 数値の「100」をdouble型に変換して出力
Javaプログラムの基礎知識(全11記事)
├─Javaとは? Javaの基本概要をわかりやすく解説!
├─IDEとは?エクリプス環境を整えよう!
├─Javaの基本構造とコンパイルの流れを解説!
├─変数、リテラル、基本データ型について?
├─文字列の作成方法とStringのメソッドについて!
├─演算子について!
├─ifとswitchによる条件分岐を理解しよう!
├─ループ処理をおこなうfor文を理解しよう!
├─データをまとめて管理する配列とは?
├─メソッドとメソッドの定義について!
└─Javaに標準装備されている「ライブラリー」を活用しよう!