2015/11/01 公開
・型キャスト
型キャストとは、データの型を変換することです。例えば、int型の変数の値をdouble型に代入したり、float型の変数の値をshort型に代入することです。型が一致していないデータ同士で演算させようとすると、コンパイルエラーになったり、計算結果が不正な値になることがあります。型キャストを行い同じ型のデータにすることで、これらの不具合を防ぐことができます。
型キャストには、暗黙的な型キャストと明示的な型キャストの2つがあり、その2つの違いは、変換する変数型を指定するか指定しないかです。暗黙的な型キャストは、プログラマーが変換後の変数型を指定する必要がなく、情報量の少ない変数型から情報量のが多い変数型に変換するものです。明示的な型キャストは、プログラマーが変換後の変数型を指定する方法で、情報量の多い変数型から情報量のが少ない数型に変換するものです。
■関連コンテンツ
変数について | Javaで扱う変数について解説 |
以下のJavaソースコードは、暗黙的な型キャストの例です。情報量の少ない変数型から情報量の多い変数型に値を変換しています。
TypeCasting1.java ← クリックしてダウンロードページに移動
001: public class TypeCasting1 { 002: public static void main( String[] args ) { 003: // 変数を宣言 004: char chrV; // 16bit 005: byte bytV; // 8bit 006: short shtV; // 16bit 007: int intV; // 32bit 008: long lngV; // 64bit 009: 010: float fltV; // 32bit 011: double dblV; // 64bit 012: 013: 014: // 暗黙的な型キャスト 015: 016: // char型を他の型に変換 017: chrV = 100; 018: 019: intV = chrV; // char型をint型に変換 020: lngV = chrV; // char型をlong型に変換 021: fltV = chrV; // char型をfloat型に変換 022: dblV = chrV; // char型をdouble型に変換 023: 024: 025: // byte型を他の型に変換 026: bytV = 100; 027: 028: shtV = bytV; // byte型をshort型に変換 029: intV = bytV; // byte型をint型に変換 030: lngV = bytV; // byte型をlong型に変換 031: fltV = bytV; // byte型をfloat型に変換 032: dblV = bytV; // byte型をdouble型に変換 033: 034: 035: // short型を他の型に変換 036: shtV = 100; 037: 038: intV = shtV; // short型をint型に変換 039: lngV = shtV; // short型をlong型に変換 040: fltV = shtV; // short型をfloat型に変換 041: dblV = shtV; // short型をdouble型に変換 042: 043: 044: // int型を他の型に変換 045: intV = 100; 046: 047: lngV = intV; // int型をlong型に変換 048: fltV = intV; // int型をfloat型に変換 049: dblV = intV; // int型をdouble型に変換 050: 051: 052: // long型を他の型に変換 053: lngV = 100; 054: 055: fltV = lngV; // long型をfloat型に変換 056: dblV = lngV; // long型をdouble型に変換 057: 058: 059: // float型を他の型に変換 060: fltV = 100.0f; 061: 062: dblV = fltV; // float型をdouble型に変換 063: } 064: }
以下のJavaソースコードは、明示的な型キャストの例です。情報量の多い変数型から情報量の少ない変数型に値を変換しています。代入する値の前に(変換後の変数型)を書くことで、指定の変数型に変換することができます。
TypeCasting2.java ← クリックしてダウンロードページに移動
001: public class TypeCasting2 { 002: public static void main( String[] args ) { 003: // 変数を宣言 004: int intV = 100; // 32bit 005: long lngV = 200; // 32bit 006: float fltV = 123.4f; // 32bit 007: double dblV = 567.8; // 64bit 008: 009: 010: // 明示的な型キャスト 011: 012: // int型に変換 013: intV = (int)lngV; 014: intV = (int)fltV; 015: intV = (int)dblV; 016: 017: 018: // float型に変換 019: fltV = (float)lngV; 020: fltV = (float)dblV; 021: } 022: }
012: // int型に変換 013: intV = (int)lngV; 014: intV = (int)fltV; 015: intV = (int)dblV;
018: // float型に変換 019: fltV = (float)lngV; 020: fltV = (float)dblV;
(float)を変数名の前に書いて、float型に変換しています。
■関連コンテンツ
Javaの変数 | Javaで扱う変数について解説 |
byte型をint型へ | byteの値 → 0~255 |
![]() |
計算結果の表示足し算(加法)/引き算(減法)/掛け算(乗法)/割り算(除法)の使い方を説明 |
■新着情報
2021.2.10 | 三角形を描く(テキスト版) その2 | 三角形を描く(テキスト版) その2 |
■広告
