変数 sale は初期化されていないのになぜ使えるのですか?

for をこのように書いたときの変数は宣言不要だからです。
2023年2月19日
ユーザー

ソースコードの以下のfor文について質問です。

  for (Integer sale : sales) {
      System.out.println(sale);
    }

1.変数 sale は初期化されていないように見えますが、何故使えるのでしょうか。
2.また、System.out.println の中に入っている変数は sale にも関わらず、何故 sales の配列が表示されるのでしょうか。
ご回答のほどよろしくお願い致します。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?