比較表
比較基準 | int | 長いです |
---|---|---|
基本 | intデータ型は32ビットです。 | longデータ型は64ビットです。 |
バイト数 | バイト単位で数えると、intは4バイトです。 | バイト単位で数えると、longは8バイトです。 |
範囲 | Javaでは、int型の範囲は–2, 147, 483, 648から2, 147, 483, 647です。 | Javaではlong型の範囲は –9, 223, 372, 036, 854, 775, 808から9, 223, 372, 036, 854, 775, 807まで。 |
キーワード | int型の変数を宣言するために使用されるキーワードは "int"です。 | long型の変数を宣言するためのキーワードは "long"です。 |
記憶 | int型変数を格納するために必要なメモリは、long型に比べて少なくなります。 | 長い変数を格納するのに必要なメモリは、intと比較して大きいです。 |
int型の定義
データ型intは、整数値を保持する最も一般的に使用されるデータ型です。 int変数が保持できる値は短すぎず、長すぎません。 一般に、int変数の値は、ループを制御するループ変数として使用されるか、配列のインデックス変数として使用されます。 データ型byteおよびshortは、データ型intと比べて範囲が短くなりますが、int変数の値の範囲がもっと短くても、intを置き換えることはできません。 その理由は、式の中でbyte型とshort型を使用しているときに、その式を評価するときに、byte型とshort型がコンパイラによってint型に昇格されるためです。 だから、これから、整数が必要なところはどこでもintを使うほうが良いと言えるでしょう。
intデータ型の使い方を見てみましょう。
バイトa = 70。 バイトb = 80。 int c = a * b; //エラーなし バイトd = a + 10。 //コンパイル時エラー。
上記のコードで観察できるように、値70と80を含む2つのバイト変数aとb、これは有効なバイト範囲の値です。 しかし、a * bの中間結果です。 バイトの制限を超えています。 したがって、コンパイラは、式で使用されている場合、byte、short、およびchar変数を自動的にint型にプロモートします。 これで、変数aとbがint型に、int型のint型への代入が行われたため、a * bの結果がint変数に代入されてエラーが発生せず、スムーズにコンパイルされることがわかります。エラーが発生します。
コードの最後の行には、式が表示されています。ここで、値10がバイト変数aに追加され、その結果はまだバイトの制限を超えていません。 ただし、式「a + 10」の中間結果をバイト変数「d」に代入すると、式の評価中にバイト変数「a」がint型にプロモートされるため、コンパイル時エラーが発生します。 また、int型からbyte型への代入はできません。 そのため、コンパイル時エラーが発生します。
long型の定義
longデータ型は、byte、short、およびint型と比較して、最大の範囲と幅を持ちます。 Javaでは、long型は64ビット符号付き整数型です。 int型が目的の値を保持するためにそれほど大きくない場合は、long型が使用されます。 longの範囲は–9, 223, 372, 036, 854, 775, 808から9, 223, 372, 036, 854, 775, 807であり、大きな整数を大きな整数のように保持します。 以下の例で、型を長く理解することができます。
クラスの重み{public static void main(String args []){int item; int wt_per_item; 長いグラム 長い箱 item = 10000000; //数字項目を指定しますwt_per_item = 10000; // 1つの商品の重さをキロ単位で指定する= wt_item * 1000; //重さをグラムに変換Box = item * gram; //箱の重さをグラム単位で計算するSystem.out.println( "品目数" +品目); System.out.println( "品目当たりの重量" + wt_per_item + "キロ"); System.out.println( "グラムの箱の重量" +箱+ "キロ"); 品目数10000000品目当たりの重量10000キログラム単位の箱の重量100000000000000キロ
上記のコードの出力を確認してください。 結果は、アイテムごとの重量が10000キロの10000000アイテムを含むボックスを含むボックス全体の重量に対して計算されます。 ボックスの重さをグラムで計算した値は、int変数では保持できません。 したがって、大きな値を計算または保持する場合は、long型を使用する必要が生じることがあります。
intとlongの主な違い
- int型とlong型の基本的な違いは、それらの幅の違いです。ここで、intは32ビット、longは64ビットです。
- int型とlong型は、ビット数ではなくバイト数でカウントすると4バイト、int型が8バイトの場合、long型は2倍になります。
- Javaでは、int型の範囲は–2, 147, 483, 648から2, 147, 483, 647であり、long型の範囲は–9, 223, 372, 036, 854, 775, 808から9, 223, 372, 036, 854, 775, 807であり、これはint型よりはるかに大きいです。
- int型の変数を宣言するために使用されるキーワードは“ int”です。 一方、long型の変数を宣言するキーワードは「long」です。
- 一般的に、int型の値を保持するのに必要なメモリは、longに比べて少なくなります。
結論:
中範囲の値が必要な場合は、コードを書くときにint型を使用できますが、式によって生成された出力が大きくなる場合、または大きい値が計算に使用される場合は、long型変数を使用します。その価値。