はじめに
今回はJAVAのデータ型や変数について書いていきたいと思います。
変数
変数はデータを入れる箱になります。データを入れたり、出したりできます。
変数名をつけて、データ型を定義する必要があります。
クラス変数とかインスタンス変数とかあったりするのですが、今回は割愛します。
// 基本型
int num = 0;
char character = 'a';
// 参照型
String hello = "helloWorld";
int[] numList = {1,2,3};
【データ型】基本型(プリミティブ型)と参照型
基本型(プリミティブ型)
| データ型名 | 入る値 |
|---|---|
| byte | 8ビット整数 |
| short | 16ビット整数 |
| int | 32ビット整数 |
| long | 64ビット整数 |
| float | 32ビット単精度浮動小数点数 |
| double | 64ビット倍精度浮動小数点数 |
| boolean | true か false |
| char | 16ビットUnicode文字 |
| javaには8種類の基本型が存在します。 | |
| 数字を扱うデータ型でもいろんな種類があるのですが、使うメモリ数が違ってくるので大きければいいというわけではなく | |
| 適切なデータ型を定義する必要があります。 |
参照型
基本型とは違い、値そのものを保持するのではなく、値が置いてある場所を保持します。
例えば「配列」や文字列を扱う「string」が参照型にあたります。
基本型と参照型の違い
// 基本型
int num1 = 1;
int num2 = num1;
num1++;
// num1の値は2 num2の値は1
// 参照型
int[] num1 = {1};
int[] num2 = num1;
num1[0]++;
// num1[0]の値は2 num2[0]の値は2
基本型の方は値を入れているので、num2 = num1 はnum1の中の値1をnum2に入れているとなり、num1++しただけなら
num2の方は変わることはありません。
ですが、参照型の方はnum2 = num1は値ではなくデータの場所を渡しているのでnum2とnum1は同じ場所の値を見ていることになるのです。
その為、num1++した場合、同じ場所を見ているnum2も2が返ってくるのです。
ラッパークラス
基本型は値を入れているだけで、値に対する操作をするメソッドがありません。
そこで基本データ型をオブジェクトとして扱えるようにするラッパークラスが存在するのです
| データ型 | ラッパークラス |
|---|---|
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| boolean | Boolean |
| char | Character |
int num = 0;
Integer num2 = new Integer(num);
// 下記でも可能
Integer num3 = num;
ジェネリクスで使えない時とかに使うようです。
(ListやOptinoal等に基本型は使えない)
まとめ
いかがだったでしょうか!
今回はJAVAのデータ型、変数についてまとめてみました。
たまに参照型使って沼にハマることがあるので覚えときましょう!
ご覧いただきありがとうございました。