この記事の目次
1. JAVAのデータ型
次のように宣言する
データ型名 識別子;
int age; String name; long id;
この時のint、String、longがデータ型だ。データ型によって、変数に代入できる値、範囲も違います。
JAVAのデータ型は2種類に分けられています。プリミティブ型と参照型です。次で詳しく紹介します。
2. プリミティブ型(Primitive Type)
プリミティブ型というのは、Javaプログラミング言語によってあらかじめ定義された型です。予約されたキーワードによってデータ型ごとに型の名前が付けられています。
● 整数型(Integral Type)
データ型 | サイズ(データ量) | 範囲 | 例 |
---|---|---|---|
byte | 8 | -128から127までの整数の値。 | byte byteNumber = 100 |
short | 16 | -32768から32767の整数の値 | short shortNumber = 10000 |
int | 32 | -2147483648 から2147483647まで整数の値。 | int intNumber = 100000 |
long | 64 | -9223372036854775808から9223372036854775807までの整数の値。 | long longNumber = 100000 |
● 浮動小数点型(Floating-Point Type)
浮動小数点型は、浮動小数点の値を表している。
データ型 | サイズ(データ量) | 範囲 | 例 |
---|---|---|---|
float | 32 | 32ビット単精度小数点 | float floatNumber = 9.08f |
double | 64 | 64ビット倍精度小数点 | double doubleNumber = 9.08 |
● 文字を扱うデータ型
String型とChar型は、どちらも文字を扱うデータ型です。
Char型は1変数で1文字を扱います、例: Char a = ‘あ’
Char型で2文字以上の文字列を扱う際は、次のように配列を用いることになります。
一方、String型は1変数で2文字以上の文字列を扱うことができます。例: String b = “あいうえ”
注意:String型はプリミティブ型ではなく、参照型(クラス型)ですが、文字を取り扱うデータ型なので、覚えやすいように、char型と一緒に紹介しました。
● 論理型(boolean Type)
3. 参照型(クラス型)
プリミティブ型 | 参照型 |
---|---|
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
4. JAVAの型変換
● 暗黙的な型変換(Implicit Casting)
暗黙的な型変換とはあるデータ型からより広いデータ格納領域の型への変換です。この時、その変数のデータ格納領域が広くなり、つまり、データ量が増えるわけですが、元の変数の値が変わらないのです。変換順は以下のようです。
byte → short → int → long → float → double
package helloworld; public class HelloWorld { public static void main(String[] args) { // 暗黙的に型が変換される例 int i = 100; long l = i; // integer型からlong型に上げる float f = l; // long型からfloat型に上げる System.out.println("変数iの価値 = " + i); System.out.println("変数lの価値 = " + l); System.out.println("変数fの価値 = " + f); } }
実行結果:
説明:
● 明示的な型変換
明示的な型変換とはあるデータ型からより狭いデータ格納領域の型への変換です。この時、その変数のデータ格納領域が狭くなり、つまり、データ量が減り、変数の値が変わることがあるので要注意です。
変換順は以下のようです。
double → float → long → int → short → byte
package helloworld; public class HelloWorld { public static void main(String[] args) { // 明示的に型が変換される例 double d = 100.04; long l = (long) d; // double型からlong型に下げる int i = (int) l; // long型からinteger型に下げる System.out.println("変数dの価値 = " + d); System.out.println("変数lの価値 = " + l); System.out.println("変数iの価値 = " + i); } }
実行結果:
説明:
● よく使われている型変換メソッド
Integer.toString(変数)
int i = 123; String s = Integer.toString(i); System.out.println('s = ' + s);//結果: 123 (この結果は数字ではなく、123の文字です。)
Double.toString(変数)
Integer.parseInt(変数)
String s= "123"; int i = Integer.parseInt(s); System.out.println(i); //結果は123の数字です。
Integer.parseInt(s)と書くことで、括弧内の変数sが表す文字列に対応する整数値が得られます。括弧内には、変数解釈できないと、Integer.parseIntは文字列に正しく変換しません。
Double.parseDouble(変数)
5. まとめ
この記事に JAVAのデータ型の定義、各種類の使い分けなどを紹介しました。
JAVAでは変数を宣言するときに「データ型」を定義する必要がある、この段階で、間違ってしまうと、プログラムの全体結果が変わってしまうことがありますので、データ型を理解し、型変換をこなすようにしましょう。