Javaのintとdoubleの違いとは?データ型の基本をわかりやすく解説

この記事は約2分で読めます。
記事内に広告が含まれています。

Javaのintdoubleは、どちらもプリミティブ型と呼ばれる基本的なデータ型ですが、扱うデータの種類と範囲、そしてメモリの使用量が大きく異なります。

データの種類と範囲

int

  • 整数のみを扱います。小数点を持ちません。
  • 32ビットの符号付き整数であり、約-21億から+21億までの範囲の整数を表現できます。
  • 正確な整数値を扱う必要がある場合に使用します。例えば、年齢、個数、配列のインデックスなどに適しています。

double

  • 浮動小数点数を扱います。つまり、小数点を持つ数値を表現できます。
  • 64ビットの倍精度浮動小数点数であり、非常に広い範囲の数値を表現できます。
  • 小数を含む数値や、非常に大きな数値、非常に小さな数値を扱う必要がある場合に使用します。例えば、金額、温度、科学計算などに適しています。

メモリの使用量

  • int: 32ビット(4バイト)のメモリを使用します。
  • double: 64ビット(8バイト)のメモリを使用します。

doubleintよりも広い範囲の数値を表現できますが、より多くのメモリを使用します。

精度の違い

  • int: 整数を正確に表現します。
  • double: 浮動小数点数を近似的に表現します。そのため、計算結果にわずかな誤差が生じる可能性があります。

型変換

  • intからdoubleへの変換は、自動的に行われます(暗黙的な型変換)。これは、doubleintよりも広い範囲の数値を表現できるため、情報の損失がないからです。
  • doubleからintへの変換は、明示的な型変換(キャスト)が必要です。この場合、小数点以下が切り捨てられるため、情報の損失が発生する可能性があります。

まとめ

特徴intdouble
データの種類整数浮動小数点数
範囲約-21億~+21億非常に広い範囲
メモリ使用量32ビット64ビット
精度正確近似値(誤差の可能性あり)

どちらのデータ型を使用するかは、扱うデータの種類と範囲、そして必要な精度によって決まります。

コメント

タイトルとURLをコピーしました