このページでは初心者の方向けにJavaでの数値データの扱いについてまとめてご紹介した。
参考にしていただければと思う。
目次
Javaでの数値の扱い
Javaに限らずプログラミング言語は画面に入力されたり表示されたりする数値データやネットを介して報告されてくる様々な数値を扱うことができる。
もともと数値計算の用途がコンピュータの起源だ。プログラミング言語は数値を処理するのが得意分野になっている。
これらの数値データを変数に保存するだけでなく、指定した数値をプログラムで扱うことができるよう数値のための書き方が準備されている。
まず、その書き方を見てみよう。
リテラルと言うのは、データの表記の仕方、つまり書き方のことである。Javaでは、数値の書き方がたくさんある。
整数リテラル
整数リテラルは、整数の数値を扱うためのリテラルである。以下の種類がある。
- 10進数リテラル
- 16進数リテラル
- 8進数リテラル
- 2進数リテラル
10進数リテラル:先頭がゼロでない数値で始まり、続く数値は0から9までの数値の組み合わせになる。
1-9までの数値 [0-9までの数値]
16進数リテラル:先頭が「0x」で始まり、続く数値が「0 1 2 3 4 5 6 7 8 9」と「A B C D E F」(小文字も含む)の16文字の数値の組み合わせになる。
0x [0-9 a-f A-F]
8進数リテラル:先頭が「0」で始まり、続く数値が「0 1 2 3 4 5 6 7」の組み合わせになる。
0 [0-7]
2進数リテラル:先頭が「0B」または「0b」で始まり、続く数値が「0 1」の組み合わせになる。
0B [0-1] または 0b [0-1]
long型の整数リテラル:最後が「L」または「l」で終わる。一方、最後の文字がそうでなければ、int型になる。
1-9までの数値 [0-9までの数値]L
サンプルプログラム
このサンプルプログラムは、整数リテラルの書き方、10進数リテラル、16進数リテラル、8進数リテラル、 2進数リテラルを使って数値を記述して、その値を表示する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class PrintInteger { public static void main(String[] args) { int integerValue = 123;//[1] int hexIntegerValue = 0x12cd;//[2] int octalIntegerValue = 01234;//[3] int binaryIntegerValue = 0b1111_0101_0000_1111;//[4] long longValue = 123456789L;//[5] System.out.println("[6] integerValue = " + integerValue); System.out.println("[7] hexIntegerValue = " + hexIntegerValue); System.out.println("[8] octalIntegerValue = " + octalIntegerValue); System.out.println("[9] binaryIntegerValue = " + binaryIntegerValue); System.out.println("[10] longValue = " + longValue); } } |
実行結果
1 2 3 4 5 |
[6] integerValue = 123 [7] hexIntegerValue = 4813 [8] octalIntegerValue = 668 [9] binaryIntegerValue = 62735 [10] longValue = 123456789サンプルプログラムの説明 |
それでは簡単にプログラムの解説をしてゆこう。
- [1] int型変数integerValueの宣言をし、123を代入する。
- [2] int型変数hexIntegerValueの宣言をし、0x12cdを代入する。
- [3] int型変数octalIntegerValueの宣言をし、01234を代入する。
- [4] int型変数binaryIntegerValueの宣言をし、0b1111_0101_0000_1111を代入する。
- [5] long型変数longValueの宣言をし、123456789L;を代入する。
- [6] integerValueの値を表示する。
- [7] hexIntegerValueの値を表示する。
- [8] octalIntegerValueの値を表示する。
- [9] binaryIntegerValueの値を表示する。
- [10] longValueの値を表示する。
浮動小数点リテラル
整数の数値を扱うためのリテラルである。以下の種類がある。
- 10進数浮動小数点リテラル
- 2進数浮動小数点リテラル
float型の10進数浮動小数点リテラル:最後が「F」または「f」で終わる。以下にその例を示す。
1e1f 2.f .3f 0f 3.14f 5.012345e+23f
double型の10進数浮動小数点リテラル:最後に何も付けないか、「d」または「D」をつけることができる。以下にその例を示す。
1e1 2. .3 0.0 3.14 4e-9d 5e137
サンプルプログラム
このサンプルプログラムは、上に例として示した浮動小数点の値をコンソールに表示する。この時、浮動小数点リテラルを用いて変数に数値を代入する。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
public class PrintFloatingPoint { public static void main(String[] args) { float floatValue1 = 1e1f;//[1] float floatValue2 = 2.f;//[2] float floatValue3 = .3f;//[3] float floatValue4 = 0f;//[4] float floatValue5 = 5.012345e+23f;//[5] double doubleValue1 = 1e1;//[6] double doubleValue2 = 2.;//[7] double doubleValue3 = .3;//[8] double doubleValue4 = 0.0;//[9] double doubleValue5 = 3.14;//[10] double doubleValue6 = 4e9d;//[11] double doubleValue7 = 5e137d;//[12] System.out.println("[13] integerValue1 = " + floatValue1); System.out.println("[14] integerValue2 = " + floatValue2); System.out.println("[15] integerValue3 = " + floatValue3); System.out.println("[16] integerValue4 = " + floatValue4); System.out.println("[17] integerValue5 = " + floatValue5); System.out.println("[18] doubleValue1 = " + doubleValue1); System.out.println("[19] doubleValue2 = " + doubleValue2); System.out.println("[20] doubleValue3 = " + doubleValue3); System.out.println("[21] doubleValue4 = " + doubleValue4); System.out.println("[22] doubleValue5 = " + doubleValue5); System.out.println("[23] doubleValue6 = " + doubleValue6); System.out.println("[24] doubleValue7 = " + doubleValue7); } } |
実行結果
1 2 3 4 5 6 7 8 9 10 11 12 |
[13] integerValue1 = 10.0 [14] integerValue2 = 2.0 [15] integerValue3 = 0.3 [16] integerValue4 = 0.0 [17] integerValue5 = 5.012345E23 [18] doubleValue1 = 10.0 [19] doubleValue2 = 2.0 [20] doubleValue3 = 0.3 [21] doubleValue4 = 0.0 [22] doubleValue5 = 3.14 [23] doubleValue6 = 4.0E9 [24] doubleValue7 = 5.0E137 |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。まぁ、見ての通りだ。
- [1] float変数floatValue1の宣言をし、1e1f;を代入する。
- [2] float変数floatValue2の宣言をし、.3f;を代入する。
- [3] float変数floatValue3の宣言をし、0f;を代入する。
- [4] float変数floatValue4の宣言をし、f;を代入する。
- [5] float変数floatValue5の宣言をし、012345e+23f;を代入する。
- [6] double変数doubleValue1の宣言をし、1e1;を代入する。
- [7] double変数doubleValue2の宣言をし、;を代入する。
- [8] double変数doubleValue3の宣言をし、.3;を代入する。
- [9] double変数doubleValue4の宣言をし、0;を代入する。
- [10] double変数doubleValue5の宣言をし、14;を代入する。
- [11] double変数doubleValue6の宣言をし、4e9d;を代入する。
- [12] double変数doubleValue7の宣言をし、5e137d;を代入する。
論理リテラル
少々ずれるが、論理リテラルというものもある。論理リテラルは論理値を扱うためのリテラルである。
以下のふたつの値しかない。
- true – 真を表す
- false – 偽を表す
もし「20歳以上なら飲酒可能」などというプログラミングがあったとき、「20歳かどうか」を判定するときなどに論理リテラルを使うことになる。
ここではtrueとfalseなるものがあるんだな、くらいに思っておけばいいだろう。if文を学んだときに理解するのが手っ取り早い。
サンプルプログラム
このサンプルプログラムは、上に示した論理値をコンソールに表示する。この時、論理リテラルを用いて変数に数値を代入する。
1 2 3 4 5 6 7 8 |
public class PrintBoolean { public static void main(String[] args) { boolean booleanValueTrue = true;//[1] boolean booleanValueFalse = false;//[2] System.out.println("[3] booleanValueTrue = " + booleanValueTrue); System.out.println("[4] booleanValueFalse = " + booleanValueFalse); } } |
実行結果
1 2 |
[3] booleanValueTrue = true [4] booleanValueFalse = false |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [1] boolean型の変数booleanValueTrueの宣言をし、trueを代入する。
- [2] boolean型の変数booleanValueFalseの宣言をし、falseを代入する。
- [3] booleanValueTrueの値を表示する。
- [4] booleanValueFalseの値を表示する。
実際の数値の計算は?
下記ページで詳しく説明している。
まとめ
このページではJavaの数値データの扱いについてご紹介した。参考にしていただければ幸いだ。