Приветствую Вас ГостьВторник, 14.05.2024, 12:18

Каталог статей


Основные операторы: условный переход, циклы и т.д.

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

If

if (условие)
инструкция1;
else
инструкция2;

! — «отрицание»
&& — логическое «и»
|| — логическое «или»
== — равенство 

Оператор if можно записать в одну строку.

Стандартный вариант:

if(condition) {
    result = doThis();
} else {
    result = doThat();
}

В одну строку

result = condition ? doThis() : doThat();

switch

У использования switch в Java есть свои особенности:

  • надо не забывать ставить в конце каждой ветке break;
  • нельзя объявить в разных ветках переменные с одинаковым именем. 
  • нельзя сравнивать с null

Переключатель работает только с четырьмя примитивами и их оболочками, а также с типом перечисления и классом String:

  • byte and Byte;
  • short and Short;
  • int and Integer;
  • char and Character;
  • enum;
  • String.

Пример использования:

int result;
switch (number) {
    case 1:
        result = callMethod("one");
        break;
    case 2:
        result = callMethod("two");
        break;
    default:
        result = callMethod("many");
        break;
}

Начиная с Java 12 появилась возможность использовать swith-выражения. Например:

switch (number) {
    case 1 -> callMethod("one");
    case 2 -> callMethod("two");
    default -> callMethod("many");
}

стрелка может указывать либо на один оператор (как выше), либо на блок, выделенный фигурными скобками. Блоки необходимы для использования более одной строки кода в case. При этом они имеют дополнительное преимущество — позволяют создавать одинаковые имена переменных в разных ветках за счет локальной области видимости для каждой ветки.

В swith-выражениях для выхода из блока используется оператор yield вместо return, так как return может бить истолкован как выход из класса, что вполне допустимо.

Swith активно развивается и для его использования надо внимательно почитать документацию.

Например использование уточнений:

String str = // ...
String length = switch (str) {
    case str.length() > 42 -> "long";
    case str.length() > 19 -> "medium";
    case str.length() > 1 -> "small";
    case null || str.length() == 0 -> "empty";
};

Категория: Java | Добавил: leshic (12.11.2022)
Просмотров: 127 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
Программирование [7]
Java [9]
Описание языка Java
API [0]
Примеры реализации задач [0]
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0