型変換の基本ルール

広告

型変換は異なるデータ型の間で演算が行われる時に発生します。例えばint型の変数のshort型の値を代入する場合や、int型の値とlong型の値を乗算するような場合です。このような時、いずれかの値がもう片方の値のデータ型に変換が行われます。この時、サイズが小さい型から大きい型へ変換する場合と、逆に大きい型から小さい型へ変換される場合の二通りがあります。

・サイズが小さい型から大きい型への変換
・サイズが大きい型から小さい型への変換

ここでサイズというのは表現できる数の大きさです。例えばlong型は64ビットでfloat型は32ビットですが、表現できる数の大きさはfloat型の方が大きいためサイズとしてはfloat型の方がlong型よりも大きくなります。(データ型毎に表現できる数については「基本のデータ型」を参照して下さい)。

どのデータ型からどのデータ型に変換した時、どちらの変化が行われるのかは次の通りです。

p1-1

int型とlong型で見てみれば、int型をlong型に変換する場合は小さい型から大きい型への変換となり、逆にlong型をint型に変換する場合は大きい型から小さい型への変換となります。またint型とdouble型で見た場合もint型をdouble型に変換する場合は小さい型から大きい型への変換となり、逆にdouble型をint型に変換する場合は大きい型から小さい型への変換となります。

基本データ型の中でもboolean型は特別でboolean型から他のデータ型に変換はできず、また逆にboolean型に変換することもできません。

注意すべき点はshort型とchar型の場合、またbyte型とchar型の場合などです。この場合はどちらに変換する場合も大きい型から小さい型への変換という扱いになります。詳細は別のページで解説します。

サイズが大きい型から小さい型へ変換した場合、例えば4桁の数値しか入らないところに6桁の数値を入れようとしても入らないように場合によっては元の値のまま格納できない場合もあります。また小さい型から大きい型へ変換する場合も、整数から浮動小数点数に変換する場合に元のままの値ではなくなる場合もあります。

では次のページ以降で型変換を行う具体的な方法について確認していきます。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)