Javaの整数
![アイキャチ画像](/img/HU2p3qfH/Eyecatch.webp)
Javaの整数型の扱い方について、簡単にご紹介します。
Javaで扱える整数について
Javaでは使う型によって扱うことができる、数値の範囲が違います。
![チュンすけ](./xxxdeta-box/xxxOLD/0004.png)
なぜ扱える範囲が違うの?
使い分けることによって、変数にどんなデータが入ってくるかや変数の役割などある程度予想をすることができコードの可読性が上がります。
また、パフォーマンスの面でも余分なメモリを使うことなくアプリなどを作ることができるのです。
![ペンタ](./xxxdeta-box/xxxOLD/0001.png)
早速Javaではどのような整数型があるのか確認しよう!
最も基本的な整数型
このint型はJavaで整数を扱い際に最も多く使われる型となっています。
型の宣言は下記の通りです。
int i = 0;
整数を扱うと決まっていて細かいことを気にしなければ、冒頭でお伝えしたような使い分けはせずこの型でいいかもしれないと感じる方もいるかもしれません。
実際コートを書いていても頻繁にint型は使用する他、ある程度扱える範囲も広いため困ることh少ないとボク自身感じています。
int型の扱える整数範囲
先ほど少し触れましたが、Javaの整数型にはそれぞれ扱える範囲が決まっています。
Javaのint型の範囲は下記の範囲です。
最小 | 最大 | ビット数 | -2,147,483,648 | 2,147,483,647 | 32bit |
---|
この範囲で何か計算をする場合はint型を使いましょう。
では逆にもっと大きな数値(22億など)を扱いたい場合はどうすればいいでしょうか?
大きな整数を扱いたい場合
先ほど紹介したintはJavaで整数を扱う場合の基本的な型だとすると、今から紹介する型はより大きな数値を扱いたい時に使う型です。
![ペンタ](./xxxdeta-box/xxxOLD/0001.png)
実際に億単位や兆単位の計算をしたい場面はいつか出てくるよね!
型の宣言は下記の通りです。
long i = 2200000000L;
long型を使う時には、コンパイラーにlong型であることを知らせるために数字の後ろに『L』もしくは『l』をつけます。
![チュンすけ](./xxxdeta-box/xxxOLD/0004.png)
これを知らなくて初めは苦労したよ、、、
long型で扱える整数範囲
Javaのlong型の範囲は下記の範囲です。
最小 | 最大 | ビット数 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | 64bit |
---|
いきなり桁が上がりましたね、、、
ざっくり922京というかなり巨大な整数です。
そして驚くことに、この数値がプログラミング言語で扱える整数型の最大値となっておりこれ以上大きな数値は整数として扱うことができません。
※浮動小数点型ならできるかもしれませんが非推奨です。(正確な計算ができないため)
狭い範囲を扱う型
ここまで整数の基本的な型について触れてきましたが、ここからは整数でもちょっと特殊な型たちを紹介しようと思います。
short型
この型は今まで紹介したint型やlong型と比較するととても狭い範囲の整数型となっています。
型の宣言は下記の通りです。
short i = 0;
short型で扱える整数範囲
Javaのlong型の範囲は下記の範囲です。
最小 | 最大 | ビット数 | -32,768 | 32,767 | 16bit |
---|
範囲としてはかなり狭いので、ちょっとした計算でも下手をすると足りなくなってしまいます。
この型は昔のコンピューターのスペックが低かったため存在している型で今はほとんど使われていません。
![ペンタ](./xxxdeta-box/xxxOLD/0001.png)
古いソースコードを改修する時に出てくるかもしてないから覚えるだけ覚えておこう!
byte型
この型も先ほど紹介したshort型同様かなり狭い範囲を扱う型となっています。
型の宣言は下記の通りです。
byte i = 0;
byte型の範囲
Javaのbyte型の範囲は下記の範囲です。
最小 | 最大 | ビット数 | -128 | 127 | 8bit |
---|
先ほどのshort型よりさらに狭い範囲のため、一見利用価値がないように感じるかもしれませんが実は個人的にshort型より出現頻度は高いと感じています。
よくあるパターンとしては、データをバイナリデータとして扱いたい、そんな時よく使われています。
![ペンタ](./xxxdeta-box/xxxOLD/0001.png)
バイナリデータとはコンピューターが扱う0と1のデータのことだよ!
ファイルの操作や文字列のエンコーディングなど、バイナリデータは全てのデータの基本的な部分と関わってくるためそういった場面でこのbyte型と出会うことがあるかもしれません。
まとめ
いかがでしたか?
今回はJavaの整数型についての紹介でした。
最後に要点をまとめてみます。
型 | 最小 | 最大 | ビット数 |
---|---|---|---|
byte | -128 | 127 | 8bit |
short | -32,768 | 32,767 | 16bit |
int | -2,147,483,648 | 2,147,483,647 | 32bit |
long | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 | 64bit |
![ペンタ](./xxxdeta-box/xxxOLD/0001.png)
型は扱うデータの役割によって使い分けをしよう!
- 基本的にはint型
- intで足りない時はlongを使おう
- バイナリデータを扱う時はbyteを使うことがある
最低限Javaで数値を扱う時は上記3つを意識しておくといいかと思います。