• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:出力結果が得られる理由が分かりません)

Javaプログラムの出力結果についての疑問

このQ&Aのポイント
  • 出力結果が得られる理由が分かりません。二つのプログラムの実行フローを解説してください。
  • 一つ目のプログラムでは、配列の参照を変更しても元の配列の要素が変化していることが分かります。
  • 二つ目のプログラムでは、オブジェクトの参照を変更しても元のオブジェクトと同じ値を持つ別のオブジェクトが作成されることが分かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • uta3
  • ベストアンサー率70% (21/30)
回答No.2

最初の37は問題ないですよね。 次のb=aが分からなくなっている原因かな。 b=aを実行すると、bはaと同じ配列になります。 これは値がコピーされるわけではなく、同じ領域を共有するという意味です。 a,bは配列の先頭を指すポインタだと思ってください。 ですからb=a以降のa[2]とb[2]は名前こそ違うものの、まったく同じものです。

hajimen
質問者

お礼

ありがとうございます! よくわかりました。 同じ領域を共有すのですね!!そこがわかりませんでした。 ありがとうございました!!

その他の回答 (1)

noname#118337
noname#118337
回答No.1

どの辺が分かりませんか? それを書いてくれないと、説明も難しいです

hajimen
質問者

補足

はい。二つ目のプログラムは自力で解けましたので、もう大丈夫です。 一つ目のプログラムについてですが、 このプログラムを配列だと思って考えてたのですが、それが違かったので、どのような手順(処理)で373300になるかが分かりません。

関連するQ&A