※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
こんにちは。こんぶです。
今日は、「【Java-24】配列③拡張for文、メモリ」のチャレンジ問題を解いてみましょう!
今日の問題は【Java-24】の内容を元にしているので、復習してから挑戦してみてくださいね。
チャレンジ問題
①拡張for文で配列を回すコードは、どのようになりますか?(日本語も使用して)
②配列変数には、どのような情報が入っていますか?
③メモリ上の番地を代入する変数のことを何型変数といいますか?
④配列変数ではなく「int型」や「boolean型」等は何型変数といいますか?
⑤配列変数Aと配列変数Bで同じ配列を参照(配列変数Aを配列変数Bに代入する場合等)している場合に配列変数Aを書き換えるとどうなりますか?
⑥Javaで動いている、プログラムが生み出したメモリ上のゴミを自動的に片付けてくれる仕組みを何といいますか?
⑦「何もない」状態を表す値である「null」は何型の変数に代入することができますか?
⑧ある番地を参照していた配列変数に「null」を代入して参照しない状態にすることを何といいますか?
⑨配列変数に「null」を代入した場合にコンパイルすると、エラーになりますか?
⑩配列変数に「null」を代入した場合にコンパイルした後に実行すると、エラーになりますか?
解答
①拡張for文で配列を回すコードは次のようになります。
②先頭要素のアドレス
→配列変数は、配列の実体(要素の集まり)は○○番地(先頭要素のアドレス)にあるということを指し示してくれる動きをするんでしたね。
③参照型変数
④基本型変数
⑤配列変数Bも書き換わる
→同じ配列を参照するということは、配列の実体(要素の集まり)が同じということになるので、片方の中身を書き換えることで、どちらも書き換わりますね。
⑥ガベージコレクション
⑦参照型
→「null」を代入することで、意図的にどこも参照しない状態になりますね。
⑧参照を切る
⑨コンパイルすると、エラーにならず成功する
⑩実行すると、エラーになる
→配列変数に「null」を代入した場合、どこも参照していない状態ではありますが、コンパイルは成功し、実行した時にエラーになります。格納されている配列変数を参照した時にエラーがでるため、実行のタイミングなんですね。
お疲れさまでした
どれくらい正解できましたか?
メモリの考え方を学ぶことで、より配列の仕組みが理解しやすくなりますね。
次の内容はこちらです→【Java-25】配列④length、多次元配列
それでは、こんぶはじゃ~
コメント