## continueとbreakの違いとは
continueとbreakの違いとは、次のループを実行するかしないかです。
continueはcontinueよりあとの処理を実行しないで、次のループを実行します。
breakはbreakよりあとの処理と次のループを実行しないで終了します。
### continueの処理
using static System.Console;
class TestClass
{
static void Main()
{
for (int i = 1; i < 4; i++)
{
WriteLine(i + "回目のcontinueのまえの処理");
if (i > 1)
{
continue;
}
WriteLine(i + "回目のcontinueのあとの処理");
}
}
}
1回目のcontinueのまえの処理
1回目のcontinueのあとの処理
2回目のcontinueのまえの処理
3回目のcontinueのまえの処理
1. 3回ループするfor文です。
2. 2、3回目のループでcontinue;が実行され、これよりあとの処理のWriteLine(i + “回目のcontinueのあとの処理”);が実行されません。
3. つまり、
– 2回目のWriteLine(i + “回目のcontinueのあとの処理”);
– 3回目のWriteLine(i + “回目のcontinueのあとの処理”);
は実行されません。
4. そのため表示結果には、
– 「 2回目のcontinueのあとの処理 」
– 「 3回目のcontinueのあとの処理 」
が表示されません。
5. continue;が実行されても、先頭に戻ってループが再開するので、WriteLine(i + “回目のcontinueのまえの処理”);は必ず実行されます。
6. つまり、
– 1回目のWriteLine(i + “回目のcontinueのまえの処理”);
– 2回目のWriteLine(i + “回目のcontinueのまえの処理”);
– 3回目のWriteLine(i + “回目のcontinueのまえの処理”);
は実行されます。
### breakの処理
using static System.Console;
class TestClass
{
static void Main()
{
for (int i = 1; i < 4; i++)
{
WriteLine(i + "回目のbreakのまえの処理");
if (i > 1)
{
break;
}
WriteLine(i + "回目のbreakのあとの処理");
}
}
}
1回目のbreakのまえの処理
1回目のbreakのあとの処理
2回目のbreakのまえの処理
1. 3回ループするfor文です。
2. 2回目のループでbreak;が実行されます。
3. break;が実行されるとfor文が終了します。
4. つまり、実行されたのは、
– 1回目のWriteLine(i + “回目のbreakのまえの処理”);
– 1回目のWriteLine(i + “回目のbreakのあとの処理”);
– 2回目のWriteLine(i + “回目のbreakのまえの処理”);
までです。
5. それよりあとの
– 2回目のWriteLine(i + “回目のbreakのあとの処理”);
– 3回目のWriteLine(i + “回目のbreakのまえの処理”);
– 3回目のWriteLine(i + “回目のbreakのあとの処理”);
は実行されません。
## continueとbreakの違いまとめ
continueとbreakは、これよりあとの処理をブロックの終わりまで実行しません。
しかし、次のループをcontinueは実行しますが、breakは実行しない違いがあります。