重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Javaの質問です。赤字は気にしないで下さい。

この問題の実行結果が
x=0:y=0
x=0:y=1
x=0:y=2
x=1:y=0
x=1:y=1
break文の実行

という答えなのですが、
x=0:y=2のあと、
なぜx=1:y=0とyが0になるのがわかりません。

「Javaの質問です。赤字は気にしないで下」の質問画像

A 回答 (2件)

初めまして。

趣味でプログラミングを勉強しているものです。

説明者様の式
for xを条件1
for yを条件2とした場合

"条件1"初期化式(x=0
"条件1"条件式(x<3
"条件1"変化式(x++
"条件1"繰り返し("条件2"

の中に

"条件2"初期化式(y=0
"条件2"条件式(y<3
"条件2"変化式(y++
"条件2"繰り返し(出力

がある感じです。

"条件2"の条件式、変化式が終わると、"条件1"の条件式、変化式に戻ります。

2度目の"条件2"で疑問を持たれているのだと思います。
これは、二重for文で、

初期化x=0
xを持ったまま
初期化y=0
yが012と進むのが1度目。

ここでやっとxが+1になります。
そして
x=1
xを持ったまま
初期化y=0
yが012と進みます。


loopを省いたため説明とは違う出力になりますが

xがfor文を繰り返す度にy=0の初期化が行われ、
yが012と増えていくのはyのfor文内で出力をしているからです。

説明不足ですが、こんな感じです。
    • good
    • 1
この回答へのお礼

なるほど。丁寧な説明でわかりやすかったですありがとうございます!

お礼日時:2021/02/11 03:03

5行目にy=0が有るから。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!