読者です 読者をやめる 読者になる 読者になる

感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Javaで整数を使う。intとlong

Java SE
<スポンサーリンク>

Javaの基礎を復習。
パーフェクトJavaの「数値(1)」の章を参考にさせていただきました。

整数の型と取りうる値の範囲は以下のとおりだが、longとかになるとわけわからない数になるので、順番だけ覚えておけばいいと思う。

整数の型 値の範囲 ビット長
byte -128以上127以下 8
char 0以上65535以下 16
short -32768以上32767以下 16
int -214783648以上2147483647以下 32
long -9223372036854775808以上9223372036854775807以下 64

一般に、intを使うよりもlongを使った方がメモリ領域を使うし、計算速度も少し遅くなる。
intは32ビット長でint型の読み書きはアトミックであるため、マルチスレッド動作を考慮した場合の安全性も高まる。

64ビット長のlong型を乱用すると、32ビットCPUで実行効率が落ちる危険性もある。

整数リテラルというものがある。
リテラルとは、コード上に書いた整数値あそのままの意味を持つ仕組みのこと。
以下のコードで言うと、直接100とか10000とか書いてあるところを指す。

package kiso;

public class Seisu {
	public static void main(String[] args) {
		//整数リテラル
		int hoge = 100;

		long fuga = 10000L;

		System.out.println(hoge); //100
		System.out.println(fuga); //10000

	}
}

その型が取りうる値の範囲を超えたらコンパイルエラーになる。

int hoge = 2147483650; //コンパイルエラー

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

パーフェクトJava (PERFECT SERIES) (PERFECT SERIES 2)

俺のバイブル的な本でおととしから何かあるたびに見返してる。
原点となる本だ。