Ключевой момент: инструкция if – это конструкция, благодаря которой программа выбирает один из возможных путей выполнения.
Предыдущая программа показывала такие сообщения как «6 + 2 = 7 это false». Если вы хотите сообщения «6 + 2 = 7 это неправильно», вы должны использовать инструкции выбора, чтобы сделать это небольшое изменение.
Java имеет несколько типов инструкций выбора: одновариантные инструкции if, двухвариантные инструкции if-else, вложенные инструкции if, многовариантные инструкции if-else, инструкции switch и условные выражения.
Одновариантная инструкция if выполняет действие, если условие является true (истина). Синтаксис одновариантных выражений if следующий:
if (булево-выражение) { инструкция(ии); }
Следующая блок-схема иллюстрирует, как Java выполняет синтаксические выражения if.
Инструкции в блоке if выполняются если boolean-expression (булево-выражение) сводится к true:
Блок-схема – это диаграмма, которая описывает алгоритм или процесс, показывая этапы в виде фигур различного рода, и их порядок, соединяя их стрелками. Технологические операции представляются в этих фигурах, а соединяющие их стрелки представляют поток контроля. Ромб означает булево выражение, а прямоугольник представляет инструкции.
Если boolean-expression сводится (вычисляется) к true, инструкции в блоке выполняются. В качестве примера посмотрите следующий код:
if (radius >= 0) { area = radius * radius * PI; System.out.println("Площадь круга радиусом " + radius + " равна " + area); }
Блок-схема предыдущей конструкции показана на рисунке:
Если значение radius больше или равно 0, тогда area вычисляется; в противном случае две инструкции в блоке не будут выполнятся.
boolean-expression заключается в круглые скобки. Например, код
if i > 0 { System.out.println("i является положительным"); }
является неверным. Правильно должно быть так:
if (i > 0) { System.out.println("i является положительным"); }
Фигурные скобки для обозначения блока можно пропускать, если они заключают только одну строку. Например, следующие выражения являются эквивалентными:
Пропускать фигурные скобки или нет
Примечание: пропуск фигурных скобок делает код короче, но склоняет к ошибкам. Частой ошибкой является забыть поставить фигурные скобки, когда вы возвращаетесь для изменения кода (добавление ещё одной строки) в котором пропущены фигурные скобки.
Следующая программа просит пользователя ввести целое число. Если число кратно 5, то программа печатает Дай Пять! Если число кратно 2, то программа показывает Дайте Две!
import java.util.Scanner; public class SimpleIfDemo { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Введите целое число: "); int number = input.nextInt(); if (number % 5 == 0) { System.out.println("Дай Пять!"); } if (number % 2 == 0) { System.out.println("Дайте Две!"); } } }
Программа просит пользователя ввести число (строки 6-7) и отображает Дай Пять!, если оно делится на 5 (строки 9-10) и Дайте Две!, если оно делится на 2 (строки 12-13).
Проверь себя:
- Напишите выражение if, которое присваивает 1 к x, если y больше чем 0.
- Напишите выражение if, которое увеличивает pay на 3% если score больше чем 90.