山崎屋の技術メモ

IT業界で働く中でテクノロジーを愛するSIerのシステムエンジニア👨‍💻 | AndroidとWebアプリの二刀流🧙‍♂️ | コードの裏にあるストーリーを綴るブログ執筆者✍️ | 日々進化するデジタル世界で学び続ける探究者🚀 | #TechLover #CodeArtisan、気になること、メモしておきたいことを書いていきます。

javaの引数 プリミティブ型(基本型)は値渡し

丁寧に説明しているサイトはいっぱいあるので、結論をメモしておきます。

プリミティブ型(基本型)の引数は値渡しです。

public class Argument {
	public static void main(String[] args) {
		int a = 2;
		methodA(a);
		System.out.println("変数aの内容は[" + a + "]");
	}
	private static void methodA(int a) {
		a += 1;
	}
}


実行結果

変数aの内容は[2]

methodA で引数 a を +1 しているにもかかわらず、呼出し後に a を表示させると methodA を呼び出す前の値が表示されます。これは、methodA に引数を渡すとき、そのまま渡すのではなく、値をコピーしてから渡してるからなのですね。うん、これが値渡し。

参照型(オブジェクト)の引数についてはこちらの記事を参照してください。

即戦力にならないといけない人のためのJava入門(Java 8対応) エンタープライズシステム開発ファーストステップガイド (CodeZine BOOKS)

即戦力にならないといけない人のためのJava入門(Java 8対応) エンタープライズシステム開発ファーストステップガイド (CodeZine BOOKS)