要点まとめ
基本ルール
- Javaでは変数の型を決めてから値を入れる必要がある
- 型が違うとそのまま代入できない場合がある
- 例:
int i; i = "Hello";→ エラー
- 例:
自動型変換(拡大変換)
- 小さい型 → 大きい型 へは自動で変換される
- 例:
double d;
d = 100; // int → double に自動変換
Java- 数値型の大きさの順番
double > float > long > int > short > byte - 注意点:桁数が大きいと誤差が出ることがある
intをfloatに変換すると7桁目以降がずれる可能性あり
明示的な型変換(キャスト)
- 大きい型 → 小さい型 に代入する場合はキャストが必要
- 書き方:
double d = 123.45;
int i = (int)d; // 小数点以下が切り捨てられる
Java- 例:
longをintにキャストすると、範囲外の値は予測不能な結果になるfloatをintにキャストすると、小数点以下は切り捨て
数値リテラルの特例
shortやbyteに直接リテラル(数値)を代入する場合は、自動で変換されることがある
byte b = 10; // OK
byte b = 1000; // エラー(範囲外)
Java- ただし、変数を経由するとキャストが必要になる
int i = 10;
byte b = i; // エラー
Javaまとめ
- 自動変換:小さい型 → 大きい型(ただし誤差に注意)
- キャスト必須:大きい型 → 小さい型(データ欠損や予測不能な結果に注意)
- リテラルの特例:直接代入ならOKな場合もあるが、範囲外はエラー
初心者向けに一言でいうと、
👉 「型が違うときは自動で変換される場合と、キャストが必要な場合がある。キャストするときはデータが欠けたり誤差が出ることに注意!」 です。
