Java: Инструкции (Statements)
Инструкция — это команда для компьютера. Код на Java — это набор инструкций, и каждая из них завершается символом ;. Таких инструкций может быть сколько угодно: каждая выполняется после того, как закончилась предыдущая, и так из простых элементов получается сколь угодно большая и сложная программа.
Инструкция 1: System.out.println("Hello"); → выполнена
↓
Инструкция 2: System.out.println("World"); → выполнена
↓
Инструкция 3: System.out.println("!"); → выполненаВот пример кода с двумя инструкциями. Эти строки говорят компьютеру вывести фразы на экран:
System.out.println("Mother of Dragons"); // Первая инструкция
System.out.println("Dracarys!"); // Вторая инструкцияПри запуске этого кода на экран последовательно выводятся два предложения:
Mother of Dragons
Dracarys!Порядок имеет значение
Java выполняет код строго в том порядке, в котором вы его написали. Если поменять строки местами:
System.out.println("Dracarys!");
System.out.println("Mother of Dragons");на экране они тоже поменяются:
Dracarys!
Mother of DragonsЗавершение инструкций
В Java символ ; обязателен — он отмечает конец каждой инструкции. Если его забыть, компилятор сообщит об ошибке. Благодаря ; несколько инструкций можно даже записать на одной строке:
System.out.println("Mother of Dragons"); System.out.println("Dracarys!");Результат на экране будет таким же, но на практике такой подход считается плохим: код труднее читать. Поэтому инструкции почти всегда пишут по одной на строку.
Зачем это нужно
Сейчас мы пишем очень простые программы, но со временем они начнут усложняться. Один из самых важных навыков, который поможет их понимать, — это способность мысленно разбивать программу на независимые инструкции. Только так можно разобраться, что в коде происходит. Ниже пример для привлечения внимания, понимать его пока не надо:
static boolean isPrime(int number) {
if (number < 2) {
return false;
}
int divider = 2;
while (divider <= number / 2) {
if (number % divider == 0) {
return false;
}
divider++;
}
return true;
}Задание
Выведите на экран друг за другом три имени: Robert, Stannis, Renly. В результате на экране должно отобразиться:
Robert
Stannis
RenlyДля каждого имени используйте свой собственный вызов System.out.println().
Полезное
Java: Инструкции (Statements)
Инструкция — это команда для компьютера. Код на Java — это набор инструкций, и каждая из них завершается символом ;. Таких инструкций может быть сколько угодно: каждая выполняется после того, как закончилась предыдущая, и так из простых элементов получается сколь угодно большая и сложная программа.
Инструкция 1: System.out.println("Hello"); → выполнена
↓
Инструкция 2: System.out.println("World"); → выполнена
↓
Инструкция 3: System.out.println("!"); → выполненаВот пример кода с двумя инструкциями. Эти строки говорят компьютеру вывести фразы на экран:
System.out.println("Mother of Dragons"); // Первая инструкция
System.out.println("Dracarys!"); // Вторая инструкцияПри запуске этого кода на экран последовательно выводятся два предложения:
Mother of Dragons
Dracarys!Порядок имеет значение
Java выполняет код строго в том порядке, в котором вы его написали. Если поменять строки местами:
System.out.println("Dracarys!");
System.out.println("Mother of Dragons");на экране они тоже поменяются:
Dracarys!
Mother of DragonsЗавершение инструкций
В Java символ ; обязателен — он отмечает конец каждой инструкции. Если его забыть, компилятор сообщит об ошибке. Благодаря ; несколько инструкций можно даже записать на одной строке:
System.out.println("Mother of Dragons"); System.out.println("Dracarys!");Результат на экране будет таким же, но на практике такой подход считается плохим: код труднее читать. Поэтому инструкции почти всегда пишут по одной на строку.
Зачем это нужно
Сейчас мы пишем очень простые программы, но со временем они начнут усложняться. Один из самых важных навыков, который поможет их понимать, — это способность мысленно разбивать программу на независимые инструкции. Только так можно разобраться, что в коде происходит. Ниже пример для привлечения внимания, понимать его пока не надо:
static boolean isPrime(int number) {
if (number < 2) {
return false;
}
int divider = 2;
while (divider <= number / 2) {
if (number % divider == 0) {
return false;
}
divider++;
}
return true;
}Задание
Выведите на экран друг за другом три имени: Robert, Stannis, Renly. В результате на экране должно отобразиться:
Robert
Stannis
RenlyДля каждого имени используйте свой собственный вызов System.out.println().
Полезное
Ваше упражнение проверяется по этим тестам
import static org.assertj.core.api.Assertions.assertThat;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
class AppTest {
public static void main(final String[] args) {
final var expected = "Robert\nStannis\nRenly";
App.main(null);
ByteArrayOutputStream out = new ByteArrayOutputStream();
System.setOut(new PrintStream(out));
App.main(null);
final var actual = out.toString().trim();
assertThat(actual).isEqualTo(expected);
}
}Решение учителя откроется через:
20:00
