Есть ли какие-то преимущества у switch
над конструкцией (if else + else if
) помимо визуальной наглядности
Простой пример:
switch(a) {
case 1:
operation1();
case 2:
operation2();
break;
...
}
В случае "1" будут выполнены функции operation1 и operation2, в случае "2" - только operation2. PS: можно это описать и с помощью if else, но зачем.
Помимо визуальных отличий из самых крутых могу рассказать про группу кейсов.
Допустим, у вас есть год (неважно откуда) и необходимо в зависимости от него делать разные вещи. К примеру, сделать одно и то же если год 1987 1900 1791
Как это выглядит в if/else
if (year == 1987 || year == 1900 || year == 1791) {}
В switch
switch (year) {
case .......
case 1987:
case 1790:
case 1791:
//что-то там..
break;
case ........
}
Ну а вообще лучше всех - котлиновский when
- switch
на стероидах)
Если посмотреть с точки производительности, то конструкция switch
может быть скомпилирована в два варианта байткода с использованием:
case
не большие (не
разрежены), то компилятор создаст массив с адресами на метки
перехода.Из этого можно сделать вывод, что когда значения не сильно разрежены и имеют не большой диапазон, то оператор switch
будет работать в разы быстрее, чем if..else
, но и памяти будет потреблять больше.
Как можно изменить часть текста? Не понимаю как можно этого добитьсяЯ думал разбить на массив char и менять эти символы
Задача: отправить в функицию массив и вернуть (не отобразить,а именно вернуть) массив в обратном порядкеРезультат: Вылазит ексепшн согласно...
ЗдравствуйтеВозникла проблема с деплоем, над которой я уже бьюсь больше суток