【はじめに】
こんにちは、5月からJavaの研修を始めました「流」です。
よろしくお願いいたします。
ブログでは、研修内容の中で詰まった所などを書いていこうと思っています。
【研修内容】
変数・算術演算子・キャスト
if文・switch文
do_while文・while文・for文
配列
メソッド・オーバーロード
オブジェクト指向・クラス
【詰まった所】
今回は拡張for文で詰まった所を書いていきます。
拡張for文で配列の値にランダムな値を代入しようとした所うまくいきませんでした。
Random random = new Random(); int randomValues[] = new int[3]; for(int value : randomValues) { value = random.nextInt(10); }
これを表示してみると
randomValues[0] = 0
randomValues[1] = 0
randomValues[2] = 0
というようにランダムな値ではなく初期値のままになっています。
これは拡張for文を通常のfor文で表現すると理由がわかります。
Random random = new Random(); int randomValues[] = new int[3]; for(int i = 0; i < randomValues.length; i++) { int value = randomValues[i]; value = random.nextInt(10); }
このようにローカル変数valueに代入をしていて、配列の値に代入しているわけではないからでした。
最後までありがとうございました。
これからよろしくお願いいたします。