005-Javaの基本-キャスト 【新人エンジニアが最初に覚えたい100のJava文法】

Print Friendly, PDF & Email

ユーチューブ動画

キャストについて解説します。

ソースコード

public class ExampleCast {
	public static void main(String[] args) {
		int price = 1250;
		double tax = 8.0;
		int total = (int) (price * (100 + tax) / 100);
		System.out.println("total:" + total);
	}
}

解説

プログラムで変数を扱うとき、データ型が必要になります。

しかし、処理を考えていく中で、どうしてもデータ型を変えなければ、つじつまが合わなくなるときがあります。

そこでキャストを使います。キャストを使うとデータ型を変換することができます。

Javaには暗黙的キャストと明示的キャストがあります。

=の左側のデータ型が大きい場合には、暗黙的キャストが働き、データ型が自動的に拡張されます。

一方、明示的キャストは、変換する型を()の中に記述し、データ型を明示します。

サンプルコードを確認してください。

変数taxは、double型です。

Javaでは、大きいデータ型と小さなデータ型を演算すると、大きなデータ型に変換されるという性質があるので、

=の右側はdouble型になります。

一方、=の左側はint型です。

Int型とdouble側ではdouble型の方が大きなデータ型になるので、暗黙的キャストが働かず、ご覧のようにコンパイルエラーになります。

そこで型を変換するキャストが登場します。

やり方は簡単です。

キャスト演算子といって、変換したい型をカッコの中に記述するだけになります。

ここではint型に変換したいので、(int)と記述します。

残念ながら、これでは変数priceだけしかキャストが働きませんので、式全体にカッコをつけます。

これで式全体がdouble型からint型に変換されることになります。

カッコの中にデータ型を記述しているのを見かけたら、型を変換するキャストと覚えておきましょう。

以上、キャストについて解説しました。

 

このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。