0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JAVAのデータ型や変数について

Last updated at Posted at 2021-02-13

#はじめに
今回は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のデータ型、変数についてまとめてみました。
たまに参照型使って沼にハマることがあるので覚えときましょう!

ご覧いただきありがとうございました。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?