Циклы for

Средний уровень Java

Jim White

Java Developer

Циклы

  • Позволяют повторять действие несколько раз
  • Самый распространённый в Java: цикл for
    • Используется, когда число повторений известно заранее

Изображение трёх стрелок, образующих круг

Средний уровень Java

Синтаксис цикла for

for (int i = 0; i < 5; i++) {

  // Do something

}
  • i: итератор
  • int i = 0: начальное значение i равно 0
  • i < 5: выполнять, пока i меньше 5
  • i++: увеличивать i на 1 после каждой итерации
  • итерируемый объект: то, по чему идёт цикл
    • например, String или array
Средний уровень Java

Пример цикла for

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i — итератор
  • "Hello" — итерируемый объект
Средний уровень Java

Цикл for по массиву

// Iterate through array and print each element
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println(num[i]);
}
1
2
3
4
5
Средний уровень Java

Изменение элементов массива в цикле

// Iterate through array 
// and add i to each element
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Old: " + num[i]);
    num[i] += i;
    System.out.println("New: " + num[i]);
}
Old: 1
New: 1
Old: 2
New: 3
Old: 3
New: 5
Old: 4
New: 7
Old: 5
New: 9
Средний уровень Java

Бесконечные циклы

  • Причины:
    • Итератор не обновляется
    • Неверное условие остановки
    • ...
  • Избегайте бесконечных циклов!
    • Они приводят к зависанию или аварийному завершению программы

Примеры

// i is always bigger than 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// Not updating i
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
Средний уровень Java

Break

  • Используется для досрочного выхода из цикла
  • Не лучшая практика — применяйте осторожно
    • Обычно лучше подойдёт цикл while
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // Breaks the loop when i is 1
  }
}
0
1
Средний уровень Java

Итоги

// Example of a for loop
// Including the break keyword
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i: итератор
  • word: итерируемый объект
  • Цикл for выполняется заданное число раз
    • От 0 до конца строки word
    • Если не используется ключевое слово break
H
-
e
-
y
!
Средний уровень Java

Давайте потренируемся!

Средний уровень Java

Preparing Video For Download...