丁寧に説明しているサイトはいっぱいあるので、結論をメモしておきます。
プリミティブ型(基本型)の引数は値渡しです。
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)
- 作者: 竹田晴樹,渡邉裕史,佐藤大地,多田丈晃,上川伸彦
- 出版社/メーカー: 翔泳社
- 発売日: 2016/07/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
- 作者: 高橋麻奈
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2013/08/29
- メディア: 単行本
- この商品を含むブログ (5件) を見る