[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 17:00 / Filesize : 323 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Sun認定Java資格 実用情報【SJC-P用】



411 名前:ジャバヒロ mailto:sage [04/01/19 02:36]
public class Sample{
public static void main(String args[]){
int x = new int[1];
func(x);
System.out.println(String.valueOf(x[0]));
}

static void func(int x[]){
x[0] = 100;
}
}

↑これって「100」と出力されるんですけど、どうしてですか?
main()メソッドのx[0]は0で初期化されますよね?
で、func()メソッドの引数として獲得されるx[]には
main()メソッドで定義したx[]配列への参照がコピーして
渡されるんですよね?
func()メソッド内で x[0] = 100; としたところで
func()メソッドで獲得した引数としてのx[]の参照先が
変わるだけで、main()メソッドで定義したx[]配列には
影響ないんじゃないの?でも、「100」と出力されちゃう。
どなたか説明していただけませんか?
私の勘違いを指摘してください。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<323KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef