Цикл for и разновидность

185
25 марта 2019, 06:00

Друзья! Нашел такой цикл в книге:

public class For {
    public static void main(String[] args) {
        int num;
        num = 100;
        for (int i = 0; i < num; i++) {
            if (i * i >= num)
                break;
            System.out.print(i + " ");
        }
        System.out.println("Цикл завершен");
    }
}

Я знаю что фигурные скобки опускаются и без них всё может работать правильно, но это считается плохим тоном.

Далее переделал:

public class For {
    public static void main(String[] args) {
        int num;
        num = 100;
        for (int i = 0; i < num; i++) {
            if (i * i >= num) {
                break;
            }
            System.out.print(i + " ");
        }
        System.out.println("Цикл завершен");
    }
}

И это стало правильным вариантом с фигурными скобками.

Но почему когда я делаю вот так:

public class For {
    public static void main(String[] args) {
        int num;
        num = 100;
        for (int i = 0; i < num; i++) {
            if (i * i >= num) {
                break;
                System.out.print(i + " "); // выдается ошибка: unreachable statement
            }
        }
        System.out.println("Цикл завершен");
    }
}

Не пойму что за ошибка и почему я не могу System.out.println() написать внутри цикла if

Answer 1

Потому что System.out.print(i + " "); никогда не будет вызвано, из-за break.

Цикл в этом месте просто прервется.

READ ALSO
System.in.read() или всё же Scanner?

System.in.read() или всё же Scanner?

Заметил во многих книгах используется: Systemin

157
Операторы или Циклы?

Операторы или Циклы?

В книгах вижу часто вот такое: оператор if, оператор switch и тдТак же вижу слова аля: в этом цикле if или в этом цикле for работает так и вот так

175
Алгоритм сортировки большого файла с со сложностью приближенной к O(2n)

Алгоритм сортировки большого файла с со сложностью приближенной к O(2n)

Есть файл размером 1Гб который содержит FLOAT в бинарном виде, те

171