【Java】暗黙の型変換とは?明示的な型変換とは?
Javaでは変数を作るときに必ず変数宣言を行い、データ型を決めます。
このようにJavaはデータ型を厳密に区別するわけですが、プログラミング中にはあるデータ型の変数値を、違うデータ型の変数に代入したくなるときが多々あります。
この場合、「型変換」をしなければなりません。
1.型変換
型変換には「暗黙の型変換」と「明示的な型変換」の2つがあります。
暗黙の型変換とは?
byte型の変数「x」とint型の変数「y」を作成したとします。
byte型:1バイトすなわち-128~127の数値を扱える
int型:4バイトすなわち-2147483648~2147483647の数値を扱える
上を見てわかるように、int型はbyte型より大きい数値を扱えます。
そのため、大は小を兼ねるので下のようにint型変数「y」にbyte型変数「x」の値を代入できます。
y = x;
さて、小さいサイズのデータ型の変数値を、大きいサイズのデータ型の変数に代入する際、自動的に型の変換がおき、データの代入が可能になります。
この自動的に行われる型変換を「暗黙の型変換」といいます。
明示的な型変換とは?
一方、大きいサイズのデータ型の変数値を、小さいサイズのデータ型の変数に代入することはできません(コンパイルエラーとなります)。
なぜなら、小さい箱に大きい箱をねじ込むことはできないからです。
しかし、明示的な型変換を行うと、代入が可能になります。
明示的な型変換・・・とても煩わしそうですが、やることは下のように型変換したい変数の前に括弧をつけ、その中に代入先のデータ型を記述するだけです。
x = (byte)y;
このようにすれば代入が可能になります。
なお、型変換したい変数の前に括弧をつけ、その中に代入先のデータ型を記述して型変換する方法を明示的な型変換といいます。
コメント
まだコメントはありません。