今回は基本データ型の整数型であるbyte・short・int・long型(基本データ型)の最小値と最大値をラッパークラスを用いてMAX_VALUE・MIN_VALUEから求める方法を紹介します。
この記事に書いてあること
- MAX_VALUE・MIN_VALUEの書式
- MAX_VALUE・MIN_VALUEの使用例
MAX_VALUE・MIN_VALUEの概要・書式
MAX_VALUEとMIN_VALUEはそれぞれ変数の最大値と最小値を取得します。例としてMAX_VALUEの記述例を示します。
//MAX_VALUEの記述例(int型) Integer.MAX_VALUE;
Integerはint型のラッパークラスです。ラッパークラスとはintなどの基本データ型をオブジェクトとして扱えるように用意されているクラスです。ラッパークラスを使うことによって、基本データ型に無い色々なメソッドを使うことが出来ます。それぞれのクラスのラッパークラスと最大値・最小値を以下に示します。
基本データ型 | ラッパークラス | 最大値 | 最小値 |
---|---|---|---|
byte | Byte | 127 | -128 |
short | Short | 32767 | -32768 |
int | Integer | 2147483647 | -2147483648 |
long | Long | 9223372036854775807 | -9223372036854775808 |
byte型はバイナリデータ(0と1で表現されているデータ)を扱うための型なので、整数を扱う場合はshort・int・long型を使いましょう。
最大値・最小値を超えたらどうなる?
最大値・最小値を超えるとオーバーフロー(桁あふれ)が発生し、正負が反転した最大値になります。例えばint型では下の様になります。
/*int型のオーバーフロー*/ int max = 2147483647 + 1 = -2147483648 int min = -2147483648 - 1 = 2147483647
MAX_VALUEとMIN_VALUEの使用例
MAX_VALUEとMIN_VALUEの使用例をサンプルコードで紹介します。まずサンプルコードを下に示します。
public class VALUE_Test { public static void main(String[] args) { // byteの最大値と最小値を出力する System.out.println("byteの最大値:" + Byte.MAX_VALUE); System.out.println("byteの最小値:" + Byte.MIN_VALUE); // shortの最大値と最小値を出力する System.out.println("shortの最大値:" + Short.MAX_VALUE); System.out.println("shortの最小値:" + Short.MIN_VALUE); // intの最大値と最小値を出力する System.out.println("intの最小値:" + Integer.MAX_VALUE); System.out.println("intの最大値:" + Integer.MIN_VALUE); // longの最大値と最小値を出力する System.out.println("byteの最小値:" + Long.MAX_VALUE); System.out.println("byteの最大値:" + Long.MIN_VALUE); } }
サンプルコードの出力結果を以下に示します。
byteの最大値:127 byteの最小値:-128 shortの最大値:32767 shortの最小値:-32768 intの最小値:2147483647 intの最大値:-2147483648 byteの最小値:9223372036854775807 byteの最大値:-9223372036854775808
それぞれの整数型の最大値と最小値が出力されました。
まとめ
今回やったことのまとめです。
ポイント
- 整数型の最大値と最小値を求めるにはラッパークラスを使う
- 最大値にはMAX_VALUE、最小値はMIN_VALUEを用いる
以上で終わります。