Найти в Дзене
Даниил Лаер

Курс по Java-разработке бесплатно(5 урок)

Циклы
Иногда для решения той или иной задачи приходится использовать повторяющиеся строки кода. Например, если перед нами стоит задача вывести на экран все числа от 1 до 100. Для её решения нам придётся 100 раз написать одну и ту же строчку. Но это не кажется логичным, так как 100 строк мы ещё в состоянии написать, а что делать, если их 100000? А если мы вообще заранее не знаем, сколько их будет? Для решения подобных задач в программировании существует понятие цикла. Википедия гласит:
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций.Цикл While - цикл с предусловием
Самый распространённый цикл в программировании. Этот цикл выполняет набор команд пока истинно какое-либо условие.А циклом с предусловием его называют за то, что он сначала проверяет условие и только потом выполняет команды. Его общий вид можно записать так:

while (<условие>){
<команды> }
<продолжение программы>
Например, если бы мы писали программное обеспечение для кондиционера, то схематично часть программы могла бы выглядеть так:

while (<Комнатная температура> > <Нормальной температуры> ){
<охлаждение воздуха в комнате> }
<прекращение работы охлаждающего элемента>
Теперь давайте разберём настоящую программу для вывода первых ста натуральных чисел на экран:

class A {
public static void main(String[] args) {
int i = 1;
while(i < 101) {
System.out.println(i++);
}
System.out.println("end");
}
}


Некоторые ЛайфХаки


1. Делимость
В программировании очень часто приходится проверять, делится ли одно число на другое? Делается это очень легко  - достаточно просто взять остаток от деления одного числа на другое и сравнить его с 0. Вот пример:

import java.util.Scanner;

public class A {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if (a % b == 0) {
System.out.println("a делится на b");
}else{
System.out.println("a не делится на b");
}
}
}
2. Когда можно не ставить скобки
Оказывается, фигурные скобочки не обязательно ставить всегда. Для обозначения границ класса или метода они обязательны, но вот при использовании в ветвлении и циклах они служат лишь для объединения нескольких команд в единый блок. Таким образом, если внутри условия или цикла используется лишь одна команда, то скобки ставить необязательно. К примеру, код, написанный выше, можно переписать так:

import java.util.Scanner;

public class A {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
if (a % b == 0)
System.out.println("a делится на b");
else System.out.println("a не делится на b");
}
}
3. Считывание неизвестного количества чисел
Чаще всего нужно повторять цикл пока верно какое-либо условие или какое-то конкретное количество раз. Но как быть, если нужно считывать числа из потока данных, пока не появится какой-либо символ остановки? Например, считывать числа, пока не появится 0. Для этого достаточно считать в переменную первое число, а потом запустить цикл, который работает, пока значение в этой переменной не равно нулю. Внутри цикла обрабатывать введённые числа и в конце тела цикла считывать новое значение из консоли. Выглядит это примерно так:

import java.util.Scanner;

public class A {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
while (a != 0){
<обработка чисел>
a = sc.nextInt();
}
}
}

Свои вопросы можете задать в телеграмм-канале

https://tlgg.ru/@javaFreeWell
Курс по Java - разработке бесплатно(4 урок)

Курс по Java - разработке бесплатно(6 урок)