Switch case Java: Что это такое [Примеры кода]

Сегодня поговорим о switch case конструкции в языке java. Раньше мы уже пытались разобраться с условными операторами, а теперь подробнее разберем примеры со switch case в java.

Давайте сейчас немного отдалимся от программирования и возьмем пример из реальной жизни. Нам часто приходится выполнять определенные действия в зависимости от обстоятельств. Например если погода будет солнечной, мы пойдем на пляж. Если пойдет дождь — будем смотреть фильм. Оценивать обстановку в зависимости от обстоятельств приходится постоянно и в жизни мы воспринимаем это как обыденность.

Программирование — это попытка описать устройство мира компьютеру. Поэтому в каждом языке программирования Вы всегда найдете конструкции условных операторов. Именно таким и являются switch-case и if-else. Это наша с Вами возможность сказать компьютеру что мы хотим выполнить определенные действия в зависимости от обстоятельств. Если пользователь зарегистрировался — показать ему приветствие. Иначе — предложить регистрацию и т.д.

Если if else больше подходит когда условий не очень много (около 3), то switch case удобно использовать в случае множества условий.

Давайте теперь рассмотрим синтаксис этой замечательной конструкции.

package com.javamaster;

public class SwitchCaseExample {

	public static void main(String[] args) {
		String weather = "RAIN";
		switch (weather) {
		case "RAIN":
			System.out.println("Sit at home");
			break;
		case "SUN":
			System.out.println("Go for a walk");
			break;
		case "CLOUD":
			System.out.println("Take umbrella");
			break;
		default:
			System.out.println("Didn't recognize weather");
		}

	}

}

Первое — это switch. Ключевое слово говорит компилятору Java что начинается switch-case конструкция. В скобки мы помещаем переменную которую будем проверять. Это может быть как числовая так и строковая переменная. После этого открываются фигурные скобки и в них пишутся case конструкции. Как видите на примере выше — я после каждой case пишу ключевое слово break. Делается это для того, чтобы если мы уже и попали на наше условие и оно выполнилось — дальше чтобы код не продолжал проверять равенства. Без этого, код будет проверять до последнего условия. Также можно добавить условие «по умолчанию», которое отработает если не один из вариантов не подойдет. Помечается такое условие ключевым словом default.

Если Вы запустите пример выше — то конечно же получите в консоли:

Sit at home

Давайте теперь напишем еще один пример с использованием switch-case конструкции. Только на этот раз мы будем передавать значение переменной из вводимых пользователей параметром. С помощью сканера (Scanner). Наша программа будет принимать на вход название месяца и выдавать время года.

package com.javamaster;

import java.util.Scanner;

public class SwitchCaseExample {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Enter month");
		String month = scanner.next();

		switch (month) {
		case "Dec":
		case "Jan":
		case "Feb":
			System.out.println("Winter");
			break;
		case "Mar":
		case "Apr":
		case "May":
			System.out.println("Spring");
			break;
		case "Jun":
		case "Jul":
		case "Aug":
			System.out.println("Summer");
			break;
		case "Sep":
		case "Oct":
		case "Nov":
			System.out.println("Autumn");
			break;
		default:
			System.out.println("Didn't recognize month. Please make sure you entered month correct!");
		}

		System.out.println("Please enter number from 1-4");

		int number = scanner.nextInt();
		switch (number) {
		case 1:
			System.out.println("First is Winter");
			break;
		case 2:
			System.out.println("Second is Spring");
			break;
		case 3:
			System.out.println("Third is Summer");
			break;
		case 4:
			System.out.println("Forth is Autumn");
			break;
		default:
			System.out.println("Number is not in 1-4 range");
		}

	}

}

Как видно из примера выше, можно помещать несколько условий в один блок. Как я это сделал с месяцами. Дальше я показал, что можно проверять не только строки, но и цифры.

Теперь Вы знаете больше о ветвлениях в Java и сможете оперировать логикой приложение более эффективно.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: