#6 – Условные конструкции (if-else, switch-case)

#6 – Условные конструкции (if-else, switch-case)

Условные конструкции позволяют выполнить проверку и в зависимости от результата произвести выполнение определенного участка кода. За урок мы научимся использовать конструкцию if-else, а также switch-case в языке Java.

Видеоурок

Условные операторы очень важны, ведь они позволяют выполнять разный код в зависимости от исхода условия. В языке Java существует три конструкции позволяющих осуществлять проверку.


Конструкция if - else

За счёт if else можно проверить одно или несколько условий и в случае их успешной проверки будет выполнен один, иначе другой.


Рассмотрим пример:

int a = 2, b = 10;
if (a == b) { // Если a будет равным b, тогда будет выполнен код
	// Здесь код который будет выполнен
	// Если все одна строка кода, то фигурные скобки {}
	// можно не ставить
} else if (a <= b) { // Если а будет меньшим или равным b
	// Если предыдущее условие не будет выполнено,
	// а здесь условие окажется верным,
	// то будет выполнен этот код
} else {
	// Этот код сработает, если другие условия не будет выполнено
}

Вы можете прописать структуру лишь с одним условием if, а можете дописать в неё сколько-угодно вложенных условий else if.


Внутри каждого из условий можно прописывать другие конструкции if else, что будут проверять новые выражения.


Если необходимо проверить несколько условий в одном операторе, то можно воспользоваться логическим «и» или же логическим «или»:

if (a != b && a > b) {
	// Код будет выполнен, если и первое, и второе условие
	// окажутся верными
}

if (a < b || a == b) {
	// Код будет выполнен, если или первое, или второе условие
	// окажется верным
}


Конструкция switch

Конструкция case обладает более удобным форматом для проверки множественных условий на совпадение значения. В конструкцию записывается переменная, что проверяется, а также значения на которые происходит проверка.


Пример оператора:

int x = 23;
switch (x) { // Проверяем переменную x
	case 1: // Если переменная будет равна 1, то здесь сработает код
		// Может быть множество строк, а не только одна
		System.out.print ("Переменная равна 1");
		break; // Указываем конец для кода для этой проверки
	case 56: // Если переменная будет равна 56, то здесь сработает код
		// Может быть множество строк, а не только одна
		System.out.print ("Переменная равна 56");
		break; // Указываем конец для кода для этой проверки
	
	// По аналогии таких проверок может быть множество
	// Также можно добавить проверку, которая сработает в случае
	// если все остальные проверки не сработают
	default:
		System.out.print ("Что-то другое");
		break; // Можно и не ставить, так как это последние условие
}


Тернарная операция

Это сокращенная форма if else. Записывается следующим образом:

int x = 3, a = 12;
int res = x < a ? (x + a) : (x - a);
System.out.println(res);

Мы проверяем, если "x" будет меньше за "a", то мы в переменную res устанавливаем их сумму, иначе - их разницу.

Исходный код

Весь код будет доступен после подписки на проект!

Задание к уроку

Оператор switch case

Создайте условный оператор switch case для проверки числовой переменной. 

  • Если переменная равна 3 - выведите в консоль надпись "Три";
  • Переменная равна 7 - выведите надпись "Семь";
  • Для всего остального выведите надпись "Что-то другое".
Посмотреть ответ

Вот код решения подобной задачи:

int a = 11;
switch (a) {
	case 3:
	System.out.print ("Значение 3");
	break;
	case 7:
	System.out.print ("Значение 7");
	break;
	default:
	System.out.print ("Что-то другое");
}

Получить остальные домашние задания можно после подписки на проект

Большое задание по курсу

Вам необходимо оформить подписку на сайте, чтобы иметь доступ ко всем большим заданиям. В задание входит методика решения, а также готовый проект с ответом к заданию.
PS: подобные задания доступны при подписке от 1 месяца

Также стоит посмотреть

Разработка на Android Studio / Приложение E-Commerce
9 уроков
MERN Stack / Разработка веб-приложения
9 уроков
Разработка Андроид программы с базой данных
6 уроков
Курс по NestJS с нуля / Разработка веб проектов
9 уроков
Уроки React Native для начинающих / Разработка приложения с нуля
11 уроков
Уроки Java для профессионалов
14 уроков
Комментарии (11)
Добавить комментарий

Владислав 12 августа 2024 в 17:37

Отличный урок отличное задание все отличное
Ответить

Серж 06 апреля 2024 в 10:42

Добрый день админы!
В решении к задании "Тройная ошибка" :
" if ((a < 8 && a != 5 && a >= 2) || a == -1)" есть ошибка, а именно:
в условии задания переменная А должна быть меньше за 8 и не равна 5, но при этом не меньше или равна 2 (тоесть НЕ меньше чем 2 и Не равна 2)
если переменной а присвоить значение "2" то Ваш код:
((a < 8 && a != 5 && a >= 2) || a == -1) будет выдавать ответ "Сработало" так как 2 >= 2,
а вот такая запись ((a < 8 && a != 5 && a > 2 && a != 2) || a == -1) выдает ответ "Сработало" при переменных : -1, 3,4,6,7 - все остальные по условиям кода не подходят
Ответить

Серж 06 апреля 2024 в 10:43

Задание "Тройная проверка"

Серж 04 апреля 2024 в 21:01

Добрый вечер! Мне не понятно из этого выражения (float res = b != 0 ? (a / b) : 1;) что означает " ? " и " : " как это называется?
Ответить

Николай 26 апреля 2024 в 18:57

это тернерная операция ( условие ? выполнить если да : выполнить если нет)

Michael 26 июля 2023 в 23:14

Добрый день! Мне не очень понятно почему автор ролика используют тип данных "int" вместо "char". То есть "int a = 15, b = 10", так как часто используется для работы с символами.
Ответить

Bruh 30 ноября 2023 в 10:07

Тебе в ролике объяснили что в калькуляторе если не будет этой строчики то все значения которые ты ввел в switch case они игнорятся и срабатывает default который ты прописал в конце switch case. Это происходит потому что переменной действие значения не имее и система обрабатыет пустоту а эту пустоту ты в switch case конечно же не прописывал и о Чудо Ошибка. Поэтому нужна эта строчка. Надеюсь помог и объяснил!

Sponge 18 декабря 2022 в 14:38

А почему сначала нельзя ввести первое число, затем операцию и второе число?
Ответить

Gantz 14 ноября 2022 в 18:45

Извините, но ответ на задание кажется каким-то неполным.
Если я копирую код, то при исполнении программы сразу выскакивает default, но если дополнить код строкой
int x = scan.nextInt(); то всё срабатывает
Ответить

Показать все комментарии