Open LeoAndo opened 3 years ago
値型とは、Javaでデータを扱う型の一つでメモリ領域に決められた分のサイズをあけることで情報の保持が可能です。
値型はJavaには以下の8種類存在します
参照型はデータが格納されているメモリ上の参照(アドレス)のコピーを保持している型です。 値型に含まれなかったものはすべて参照型に含まれます。
値渡しと参照渡しの違いは 渡した変数の状態が変化するかという点です。
値渡し
public static void main(String[] args) { int num = 10; test(num); System.out.println(num); }
public static void test(int num) { num += 10; System.out.println(num); }
/ 実行結果 20 10 /
参照渡し - 参照渡しで渡すと元の変数の内容も書き換わる ```java public static void main(String[] args) { String[] array = {"おはようございます", "こんにちは", "こんばんは"}; test(array); System.out.println(array[0]); } public static void test(String[] array) { array[0] = "Hello"; System.out.println(array[0]); } /* 実行結果 Hello Hello */
参照の値渡し
public static void main(String[] args) { String[] array = {"おはようございます", "こんにちは", "こんばんは"}; test(array); System.out.println(array[0]); }
public static void test(String[] array) { array = new String[3]; array[0] = "Hello"; System.out.println(array[0]); } / 実行結果 Hello おはようございます /
新しく初期化したインスタンスが作られているアドレスを参照し、 元の変数と引数とで参照するアドレスが変わる。
値(プリミティブ)型とは
値型とは、Javaでデータを扱う型の一つでメモリ領域に決められた分のサイズをあけることで情報の保持が可能です。
値型はJavaには以下の8種類存在します
参照型とは
参照型はデータが格納されているメモリ上の参照(アドレス)のコピーを保持している型です。 値型に含まれなかったものはすべて参照型に含まれます。
値渡しと参照渡しの違い
値渡しと参照渡しの違いは 渡した変数の状態が変化するかという点です。
値渡し
public static void test(int num) { num += 10; System.out.println(num); }
/ 実行結果 20 10 /
参照の値渡し
public static void test(String[] array) { array = new String[3]; array[0] = "Hello"; System.out.println(array[0]); } / 実行結果 Hello おはようございます /