За матеріалами: http://programer.in.ua/index.php/prohramuvannia/prohramuvannia-na-c/74-urok-6-tsykly-v-si-sharp-operatory-break-i-continue
Цикли служать для багаторазового повторення деякого фрагмента коду.
У Сі-шарп є чотири оператора циклів: for, while, do-while, foreach.
1.Цикл for
Цей цикл використовується тоді, коли наперед відомо, скільки повторень потрібно зробити. Він має наступну структуру:
for (ініціалізація лічильника; умова продовження; ітерація)
{
// блок коду, який буде повторюватися
}
Приклад програми, яка виводить на екран числа 0, 1, 2, 3, 4:
static void Main (string [] args)
{
for (int i = 0; i <5; i ++) // цикл виконається 5 разів
{
Console.WriteLine (i);
}
}
Спочатку відбувається створення і ініціалізація лічильника, i = 0. Далі йде перевірка умови (i <5), якщо результат буде «істина», то далі виконується блок коду в тілі циклу. Наприкінці ітерації відбувається зміна значення лічильника (у даному прикладі збільшення на одиницю). Після цього знову відбувається перевірка умови і так далі. Коли умова буде «брехня», цикл роботу завершить.
Приклад програми, яка знаходить і виводить на екран суму елементів масиву:
static void Main (string [] args)
{
int [] numbers = {4, 7, 1, 23, 43};
int s = 0;
for (int i = 0; i <numbers.Length; i ++)
{
s + = numbers [i];
}
Console.WriteLine (s);
Console.ReadKey ();
}
Приклад циклу for, коли лічильник зменшується після кожної ітерації:
for (int i = 5; i> 0; i--) // виконається 5 разів
{
Console.WriteLine (i);
}
Лічильник можна змінювати не тільки на одиницю. Приклад програми, яка виводить парні числа (по число 50):
for (int i = 0; i <= 50; i + = 2) // виконається 26 разів
{
Console.WriteLine (i);
}
2. Цикл while
Слово while перекладається, як «поки», що добре його характеризує. Він продовжує виконуватися до тих пір, поки «істинно» деякий умова. Він має таку структуру:
while (умова продовження)
{
// блок коду, який буде повторюватися
}
Спочатку перевіряється умова, а далі виконується блок коду.
Приклад тієї ж програми, яка виводить на екран числа 0, 1, 2, 3, 4:
int i = 0;
while (i <5)
{
Console.WriteLine (i);
i ++;
}
Цикл може виконуватися «вічно», якщо задати завжди істинне умова:
while (true)
{
Console.WriteLine ("Вічний цикл");
}
3. Цикл do-while
Цей той же цикл while, тільки тут спочатку виконується блок коду, а вже потім йде перевірка умови. Це гарантує хоча б один прохід циклу.
do
{
// блок коду, який буде повторюватися
}
while (умова продовження);
Приклад програми, що не завершить роботу, поки з клавіатури не введуть число 5:
static void Main (string [] args)
{
int number;
do
{
Console.WriteLine ("Введіть число 5");
number = Convert.ToInt32 (Console.ReadLine ());
}
while (number! = 5);
}
Про циклі foreach ми поговоримо в окремому уроці.
Оператор break
З будь-якого циклу можна достроково вийти, використовуючи оператор break. Використовувати даний оператор є сенс після задоволення деякої умови, інакше цикл завершиться на першій ітерації.
Приклад програми, яка перевіряє, чи є в масиві число кратне 13-ти. Знайшовши таке число, немає сенсу далі перевіряти інші елементи масиву, і тут ми використовуємо оператор break:
static void Main (string [] args)
{
int [] numbers = {4, 7, 13, 20, 33, 23, 54};
bool b = false;
for (int i = 0; i <numbers.Length; i ++)
{
if (numbers [i]% 13 == 0)
{
b = true;
break;
}
}
Console.WriteLine (b? "У масиві є число кратне 13": "У масиві немає числа кратного 13");
Console.ReadKey ();
}
Оператор continue
Даний оператор дозволяє перейти до наступної ітерації, не завершивши до кінця поточну.
Приклад програми, яка знаходить суму непарних елементів масиву:
static void Main (string [] args)
{
int [] numbers = {4, 7, 13, 20, 33, 23, 54};
int s = 0;
for (int i = 0; i <numbers.Length; i ++)
{
if (numbers [i]% 2 == 0)
continue; // перехід до наступної ітерації
s + = numbers [i];
}
Console.WriteLine (s);
Console.ReadKey ();
}