#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 месяца

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

Изучение библиотек jQuery
24 урока
Изучение React JS / Redux библиотеки
9 уроков
Создание приложения на React JS / Использование API
7 уроков
Уроки React Native для начинающих / Разработка приложения с нуля
11 уроков
Java до профи: основы, UI дизайн и Android разработка
Практика React JS / Разработка магазина (eCommerce)
9 уроков
Комментарии (7)
Добавить комментарий

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

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

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

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

User 09 ноября 2022 в 19:07

Объясните, пожалуйста, в Задании к уроку первую строку: int a = 11; - что это? Почему 11?
Ответить

Gantz 13 ноября 2022 в 21:42

значит, что это любое число, которое не равно 3 и 7. могло быть хоть 100500. Для того, чтобы вывести "Что-то другое" Если бы поставили int а = 3, то первый же кейс подтвердил бы, что число == 3. Надеюсь понятно объяснил..я так это понял

Сергей 23 октября 2022 в 18:34

Свой калькулятор
//здесь мы объявляем переменную и разве знчение не получаем от пользователя
String action = scanner.nextLine();
// зачем нам эта строка?
action = scanner.nextLine();
Ответить

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

Я тоже ничего не понял из этого блока

itProger 14 ноября 2022 в 18:56

В Джава предпоследние получение данных от пользователя всегда засчитываем еще как значение для последнего получения. Чтобы действительно получить данные от пользователя и указать их в качестве значение для action, то необходимо выполнить доволи глупую вещь – получить данные два раза scanner.nextLine() :)

артем 24 августа 2022 в 21:06

что делать если даже условие не правильное все равно выходит надпись (скобки поставил)?
Ответить

Валентина 01 июня 2022 в 22:38

Скажите как оплатить подписку из Белоруссии, почтовый ящик val1234500@yandex.ru
Ответить

itProger 02 июня 2022 в 08:12

Здравствуйте!
Оплата подписки здесь: https://itproger.com/reg. Если возникнут сложности, то напишите консультанту на странице с покупкой.

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