Основы Java
03 — Управление потоком: оператор if
Вы узнаете, как управлять потоками ваших программ на Java с помощью оператора if.
Программы должны "принимать определенные решения". Оператор if позволяют вашему коду выбирать различные "пути", основанные на заданных вами условиях.
Базовый оператор if
Самая простая форма проверяет одно условие;
int health = 20;
if (health > 10) {
System.out.println("Ты здоров!");
}Структура
if (condition) {
// код, который будет выполняться при выполнении условия
}If-Else
Выберите один из двух путей:
int health = 5;
if (health > 10) {
System.out.println("Ты здоров!");
} else {
System.out.println("Джет узнал об отмене Hytale (ему нужна помощь)..");
}Цепочка If-Else Else-If
Позволяет проверять несколько условий в последовательности:
int health = 7;
if (health > 15) {
System.out.println("Саймон выкупил Hytale!");
} else if (health > 5) {
System.out.println("Ты жив.");
} else {
System.out.println("Джет узнал об отмене Hytale (ему нужна помощь).."");
}Вложенные операторы If
Вы можете поместить один оператор if внутри другого:
int health = 12;
if (health > 10) {
if (health > 15) {
System.out.println("Саймон выкупил Hytale!");
} else {
System.out.println("Ты жив.");
}
} else {
System.out.println("Джет узнал об отмене Hytale (ему нужна помощь).."");
}Составные условия
Вы можете комбинировать несколько условий с помощью логических операторов:
// AND - оба условия должны быть верными
int health = 12;
boolean hasPotion = true;
if (health > 10 && hasPotion) {
System.out.println("Саймон выкупил Hytale! Джет обновил пк!");
} else if (health > 10) {
System.out.println("Саймон выкупил Hytale, но Джет пока не собрал новый пк.");
} else {
System.out.println("Джет узнал об отмене Hytale (ему нужна помощь)..");
}
// OR - как минимум одно из условий должно выполняться
int health = 8;
boolean hasPotion = false;
if (health > 10 || hasPotion) {
System.out.println("Саймон выкупил Hytale или у Джета начался приступ?");
} else {
System.out.println("Саймон выкупил Hytale и у Джета приступ?!");
}
// NOT - reverses the condition
int health = 8;
if (!(health > 10)) {
System.out.println("Саймон выкупил Hytale! ");
} else {
System.out.println("Hytale отменили.");
}Условный (тернарный) оператор
Компактный способ присвоения значений:
int health = 12;
String status = (health > 10) ? "Проклятие разрушено" : "Проклят"; Синтаксис
variable = (condition) ? valueIfTrue : valueIfFalse;
(Формат: (условие) ? "значение при True(health>10)" : "значение при False(health<=10)";)