Java | 型変換とキャスト演算子

Java Java
スポンサーリンク

要点まとめ

基本ルール

  • Javaでは変数の型を決めてから値を入れる必要がある
  • 型が違うとそのまま代入できない場合がある
    • 例:int i; i = "Hello"; → エラー

自動型変換(拡大変換)

  • 小さい型 → 大きい型 へは自動で変換される
  • 例:
double d;
d = 100;   // int → double に自動変換
Java
  • 数値型の大きさの順番
    double > float > long > int > short > byte
  • 注意点:桁数が大きいと誤差が出ることがある
    • intfloatに変換すると7桁目以降がずれる可能性あり

明示的な型変換(キャスト)

  • 大きい型 → 小さい型 に代入する場合はキャストが必要
  • 書き方:
double d = 123.45;
int i = (int)d;   // 小数点以下が切り捨てられる
Java
  • 例:
    • longintにキャストすると、範囲外の値は予測不能な結果になる
    • floatintにキャストすると、小数点以下は切り捨て

数値リテラルの特例

  • shortbyteに直接リテラル(数値)を代入する場合は、自動で変換されることがある
byte b = 10;   // OK
byte b = 1000; // エラー(範囲外)
Java
  • ただし、変数を経由するとキャストが必要になる
int i = 10;
byte b = i;   // エラー
Java

まとめ

  • 自動変換:小さい型 → 大きい型(ただし誤差に注意)
  • キャスト必須:大きい型 → 小さい型(データ欠損や予測不能な結果に注意)
  • リテラルの特例:直接代入ならOKな場合もあるが、範囲外はエラー

初心者向けに一言でいうと、
👉 「型が違うときは自動で変換される場合と、キャストが必要な場合がある。キャストするときはデータが欠けたり誤差が出ることに注意!」 です。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました