ユーチューブ動画

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

ソースコード

解説

プログラムで変数を扱うとき、データ型が必要になります。しかし、処理を考えていく中で、
どうしてもデータ型を変えなければ、つじつまが合わなくなるときがあります。
そこでキャストを使います。キャストを使うとデータ型を変換することができます。

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

一方、明示的キャストは、変換する型を()の中に記述し、データ型を明示します。
サンプルコードを確認してください。
変数taxは、double型です。Javaでは、大きいデータ型と小さなデータ型を演算すると、
大きなデータ型に変換されるという性質があるので、=の右側はdouble型になります。
一方、=の左側はint型です。Int型とdouble側ではdouble型の方が大きなデータ型になるので、暗黙的キャストが働かず、ご覧のようにコンパイルエラーになります。

そこで型を変換するキャストが登場します。やり方は簡単です。
キャスト演算子といって、変換したい型をカッコの中に記述するだけになります。
ここではint型に変換したいので、(int)と記述します。残念ながら、これでは変数priceだけしかキャストが働きませんので、式全体にカッコをつけます。
これで式全体がdouble型からint型に変換されることになります。

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

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