Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Леднева_программирование_на_JAVA.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

Условный оператор if-else

В обобщенной форме этот оператор записывается следующим образом:

i

Словесное описание конструкции if:

….

Если выполняется условие …, то

действия 1, 2 …

Иначе

действия N, M …

f
(логическое выражение) {

оператор1;

оператор2;

…

}

else {

операторN;

операторM;

…

}

Раздел else необязателен. Для ветвей if-else, которые включает один оператор, фигурные скобки можно опустить. Логическое выражение (условие) – это любое выражение, возвращающее значение типа boolean.

Примеры фрагментов схемы алгоритма с оператором if приведены на рис. 3.6.

Рис. 3.6

Рассмотрим использование оператора if на примере следующей задачи.

Задача 3.1. Ввести в ЭВМ 3 целых числа. Расположить их в порядке возрастания.

Перестановку чисел a и b осуществлять через дополнительную переменную temp в последовательности 1=> 2 =>3 (рис. 3.7).

Рис. 3.7

Алгоритм:

1. Ввести три числа.

2. Расположить по порядку:

2.1. Если первое число больше второго, поменять их местами.

2.2. Если второе число больше третьего, поменять их местами.

2.3. Если первое число больше второго, поменять их местами.

3. Вывести числа.

Ниже представлен код программы, реализующий этот алгоритм.

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println("Введите три числа\r");

byte a=sc.nextByte();

byte b=sc.nextByte();

byte c=sc.nextByte();

byte temp; // временная переменная

if (a>b) {

temp=a;

a=b;

b=temp;

}

if (b>c) {

temp=b;

b=c;

c=temp;

}

if (a>b) {

temp=a;

a=b;

b=temp;

}

System.out.println("Числа переставлены:\t"+a+"\t"+b+"\t"+c);

}

Условный оператор switch

Оператор switch обеспечивает ясный способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма записи этого оператора такова:

switch ( выражение или параметр ) {

case значение1: {группа операторов;

break; }

case значение2: {группа операторов;

break; }

case значение3: {группа операторов;

break; }

default: {группа операторов;}

}

ВGroup 2301 арианты представления оператора switch на схеме алгоритма приведены на рис. 3.8.

Рис. 3.8

Результатом вычисления выражения может быть значение любого простого типа, а начиная с версии JDK7 язык Java позволяет использовать строковые литералы. Каждое из значений, указанных после ключевого слова case, должно быть совместимо по типу с выражением в операторе switch. Все значения должны быть уникальными литералами. Если значению выражения не соответствует ни одно из значений после ключевого слова case, управление передается коду, расположенному после ключевого слова default (необязателен).

Оператор break приводит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий. Иногда бывает удобно иметь в операторе switch несколько смежных разделов case, не разделенных оператором break.

Рассмотрим использование оператора switch на примере следующей задачи.

Задача 3.2. Ввести в ЭВМ номер месяца и вывести, к какому сезону года он относится.

Ниже представлен код программы.

public static void main(String[] args) {

Scanner sc= new Scanner(System.in);

System.out.print("Введите номер месяца => ");

int s;

s=sc.nextInt();

switch (s){

case 12: case 1: case 2:

System.out.println("Зима");

break;

case 3: case 4: case 5:

System.out.println("Весна");

break;

case 6: case 7: case 8:

System.out.println("Лето");

break;

case 9: case 10: case 11:

System.out.println("Осень");

break;

default: System.out.println("Ошибка");

}

}