LoginSignup
0
1

More than 3 years have passed since last update.

基本データ型と参照型の違い

Posted at

基本データ型と参照型の違い

データ型

変数を用意する場合、どのような値を格納するのかデータ型で指定します。
Java言語のデータ型には大きく分けて基本データ型参照型があります。

基本データ型

基本データ型には以下の8種類があります。

データ型 意味 サイズ
byte 符号つき整数 8ビット
short 符号つき整数 16ビット
int 符号つき整数 32ビット
long 符号つき整数 64ビット
float 浮動小数点数 32ビット
double 浮動小数点数 64ビット
char Unicodeで表現できる1文字 16ビット
boolean 真偽値 1ビット

参照型

参照型は以上8つの以外の型です。
Stringや配列を指します。

基本データ型と参照型の違い

基本データ型は変数に直接、値が代入されます。
一方、参照型はメモリ上のアドレスが代入されます。

基本データ型での動作

次のサンプルコードを見てください

int a = 1;

int b = a;

a = 0;

console.log(a); // 結果 0
console.log(b); // 結果 1

変数aと変数bにはそれぞれ直接値が代入されます。

よって、変数aに0を代入しても変数bの値には何の影響もありません。

参照型での動作

では、参照型の場合どのような動作をするのでしょうか?

int[] a = {1, 2, 3}

int[] b = a;

a[0] = 0;

console.log(a); // 結果 {0, 2, 3}
console.log(b); // 結果 {0, 2, 3}

これが参照型の特徴です。

配列bには{1, 2, 3}ではなく、配列aが参照しているメモリ上のアドレスが格納されます。
よって、配列aの変更は配列bにも影響します。

同じように、配列bの変更も配列aに影響します。

基本型と参照型ではこのような違いがあることを覚えておきましょう。

まとめ

・基本データ型は8種類存在する(byte,short,int,long,float,double,char)。
・String型は上記の8種類意外の型。
・基本データ型は変数に直接、値が代入される。
・参照型は変数にアドレスが代入される。

0
1
0

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
1