Плохо показали, что может быть константами в данном операторе. Так новички могут подумать, что если входной переменной в оператор switch может быть только константа, то получается, что он всегда будет выполнять только один блок. Входной переменной в switch(value) может быть обычная переменная, которая в ходе работы кода может изменяться. А вот переменные в блоках case FIRST_VALUE обязательно должны быть константами, иначе если бы кейсы менялись по ходу программы, то это могло бы привести к неодназначному поведению программы.
@@itroalfa4893 пример, у тебя чат бот, принимает сообщения, и чтобы проверить, что написал пользователь можно использовать switch: switch(message) { case "привет": //Обработка данного сообщения break; case "подписаться": //Обработка данного сообщения break; default: //Допустим ответить, что бот не понимает пользователя } Здесь входная переменная в оператор switch может меняться в ходе выполнения программы, отчего и управление будет передаваться разным кейсам
Это не уроки грамматики. Многие начинающие, которые хотят освоить Джаву, английский учат по ходу. Так что новичок не заметит, что там, кирпич или поломаный кирпичь
Советую чел не учиться по его роликам, а читать книги, он многое упустил об этом операторе, и ещё занимал время своими тоеоритическими размышлениями на счёт реализации строк в switch Я вообще искал достоинства использования switch...
Спасибо! Как всегда великолепно! А что за волшебство по переводу комментариев в код одним щелчком ? И, кстати, не хочу умничать, но я случайно проверил и оказалось, что все работает даже если переменные после final написаны строчными буквами (возможно в 8 Java разрешили)...
Они и не запрещали. Писать названия констант большими буквами - это просто принято так у разработчиков, чтобы в проектах, над которыми работают несколько человек, другие разработчики с первого взгляда понимали, что это константа.
Как я понял, в switch() можно указать не константу, и это логично. А вот в case должна быть константа. Я вообще плохо объяснил, если не поняли, то почитайте комментарии тут. final int second = 20, third = 10; int first = 10; switch (first) { case second: System.out.println(second); break; case third: System.out.println(third); break; default: System.out.println("Error"); Тут константы только second and third, которые в CASE. А first можно не константу, она в SWITCH. Только я не понял почему автор сказал что переменная константы должна быть с большой буквы, у меня и с маленькой работает, может это специальное обозначение константы, чтобы другие программисты поняли это, но хз.
@@metaversguy Автор использовал константу для демонстрации не много запутанно. На самом деле константами должны быть все переменные, кроме value (в данном конкретном примере) поскольку с этими переменными идёт сравнение, точнее со значениями этих самых переменных, сравнивается значение value. Надеюсь стало понятнее.
Оператор Switch не предназначен для замены if-else. Просто бывают такие моменты. Да и понятие константы тут относительное, потому как константа это переменная с модификатором final, или static final - если константа класса. Тут стоит обратить внимание на используемые типы переменных, потому как их значения находятся в пуле литералов.
Всё супер, но мне кажется, по-крайней мере, как начинающему: 1. начинать написание с большой буквы или писать большими буквами? А-то озвучивается первое, а выполняется (в кадре) второе - запутывает расхождение слов с делом; 2. ассоциативная привязка методов (примеры применения), операторов и прочего к конкретным местам применения - хотя бы по одному примеру из практики,- лучше бы отпечатывало в памяти конструкции. А-то абстракции сдувает, как листья - голые символы в голове ни к чему не крепятся и не долго задерживаются. Хоть и пишу за автором, и ещё плюс экспериментирую от себя всякое, всё-равно выдувает на сл.день, через день.... с примерами было бы лучше запоминание ИМХО. Возможно, это я один такой трудноусвояемый :)
Иногда Вы допускаете ошибки, но это все мелочи - все мы люди! НО!!! Подача материала суперская!!!
Только это видео помогло разобраться со switch. Спасибо
можете посмотреть видео уроки для начинающих по JAVA также на моем канале.
Спасибо! Замечательная подача материала!! Подписка, лайк, и рекомендация вашего канала!
Плохо показали, что может быть константами в данном операторе. Так новички могут подумать, что если входной переменной в оператор switch может быть только константа, то получается, что он всегда будет выполнять только один блок.
Входной переменной в switch(value) может быть обычная переменная, которая в ходе работы кода может изменяться. А вот переменные в блоках case FIRST_VALUE обязательно должны быть константами, иначе если бы кейсы менялись по ходу программы, то это могло бы привести к неодназначному поведению программы.
тяжело понять, но полезно. Спасибо
@@itroalfa4893 пример, у тебя чат бот, принимает сообщения, и чтобы проверить, что написал пользователь можно использовать switch:
switch(message) {
case "привет":
//Обработка данного сообщения
break;
case "подписаться":
//Обработка данного сообщения
break;
default:
//Допустим ответить, что бот не понимает пользователя
}
Здесь входная переменная в оператор switch может меняться в ходе выполнения программы, отчего и управление будет передаваться разным кейсам
@@TheMordreID спасибо. Теперь понятно абсолютно
niche ne ponyal no spasibo :D
Так, а что он говорил про большие буквы в константах, почему большие? У меня и с маленькими работает, только начал программировать, не понял слегка.
Спасибо большое. Лучшие уроки! Все кратко и понятно.
Спасибо!)
Спасибо за видео! Наконец то в этом уроке хорошо видно и четко, что написано на рабочем столе)))))
Пожалуйста ) первый опыт суровый ))
Brick - это брик(кирпич).
Break - брэйк(ломать).
Это Вы ещё про овцу не смотрели ))
На самом деле читается скорее как брык
@@followthewhiterabbit6924 какую овцу?
ua-cam.com/video/kCOhruI3cIs/v-deo.html
Это не уроки грамматики. Многие начинающие, которые хотят освоить Джаву, английский учат по ходу. Так что новичок не заметит, что там, кирпич или поломаный кирпичь
Мужик ты молодец. Классное видео, всё понятно. Огромное спасибо.
Спасибо!)
Отличный урок.Спасибо!
Спасибо и вам за хороший отзыв!)
Почему с каждым видео всё меньше и меньше просмотров? Отличные уроки и грамотная речь, а то есть некоторые зануды.
Думаю , многие понимают, что это не их тема )
@@followthewhiterabbit6924 первые 11 уроков быстро пролетели, завтра-после завтра надеюсь все досмотрю и опробую.
Классовые оболочки это же : Byte, Short, Integer, Character. Да?
Оболочки примитивов, да :)
спасибо и лайк! но на слове брик кровь из ушей потекла ))
в итоге какой из трех VALUE выведет оператор SWITCH?
Он выведет не VALUE, а выполнит оператор System.out.println(SECOND_VALUE);
Советую чел не учиться по его роликам, а читать книги, он многое упустил об этом операторе, и ещё занимал время своими тоеоритическими размышлениями на счёт реализации строк в switch
Я вообще искал достоинства использования switch...
@@former_into_latter дада бро я изучаю джава по разным источникам... много вещей по разному преподносятся
Спасибо! Как всегда великолепно!
А что за волшебство по переводу комментариев в код одним щелчком ?
И, кстати, не хочу умничать, но я случайно проверил и оказалось, что все работает даже если переменные после final написаны строчными буквами (возможно в 8 Java разрешили)...
Для однострочных: Ctrl + /
Для многострочных: Ctrl + Shift + /
@@David_2002 в многострочных шифт не нужен, без него все нормально
Они и не запрещали. Писать названия констант большими буквами - это просто принято так у разработчиков, чтобы в проектах, над которыми работают несколько человек, другие разработчики с первого взгляда понимали, что это константа.
@@eritas777 если по-русски, это - правило хорошего тона
А разве мы можем сделать value++, ведь свич работает с константами? 5:21
Как я понял, в switch() можно указать не константу, и это логично. А вот в case должна быть константа. Я вообще плохо объяснил, если не поняли, то почитайте комментарии тут.
final int second = 20, third = 10;
int first = 10;
switch (first) {
case second:
System.out.println(second);
break;
case third:
System.out.println(third);
break;
default:
System.out.println("Error");
Тут константы только second and third, которые в CASE. А first можно не константу, она в SWITCH. Только я не понял почему автор сказал что переменная константы должна быть с большой буквы, у меня и с маленькой работает, может это специальное обозначение константы, чтобы другие программисты поняли это, но хз.
@@NiflheimForever все четко объяснил!
@@NiflheimForever Четко
А если case дублируются, switch не отработает?
что за оператор foo? видел его с самого начала уроков, но до сих пор не понял что это значит
Это не оператор - это метод, логического смысла он никакого не несет, можно было писать все в main ))
это название метода
@@followthewhiterabbit6924 я не пойму, если валью константа, то какой тогда вообще смысл от свича? он всегда будет принимать одно и тоже значение...
@@metaversguy Автор использовал константу для демонстрации не много запутанно. На самом деле константами должны быть все переменные, кроме value (в данном конкретном примере) поскольку с этими переменными идёт сравнение, точнее со значениями этих самых переменных, сравнивается значение value. Надеюсь стало понятнее.
@@metaversguy константами должно быть то что в кейсах. VALUE это перемменная
Спасибо
Спс все четко и понятно!!!!! Только я Ваш сайт не могу найти. Был бы очень благодарен если напишите! спс Заранее
если он работает с константами, то не особо то он годится что бы if else заменять
Оператор Switch не предназначен для замены if-else. Просто бывают такие моменты. Да и понятие константы тут относительное, потому как константа это переменная с модификатором final, или static final - если константа класса. Тут стоит обратить внимание на используемые типы переменных, потому как их значения находятся в пуле литералов.
спс.
Пожалуйста. Со временем все моменты прояснятся. По началу всегда тяжело.
Оператор switch то же самое, что и if….
"Брик" ))
Да, там хватает английского )
Всё супер, но мне кажется, по-крайней мере, как начинающему:
1. начинать написание с большой буквы или писать большими буквами? А-то озвучивается первое, а выполняется (в кадре) второе - запутывает расхождение слов с делом;
2. ассоциативная привязка методов (примеры применения), операторов и прочего к конкретным местам применения - хотя бы по одному примеру из практики,- лучше бы отпечатывало в памяти конструкции. А-то абстракции сдувает, как листья - голые символы в голове ни к чему не крепятся и не долго задерживаются. Хоть и пишу за автором, и ещё плюс экспериментирую от себя всякое, всё-равно выдувает на сл.день, через день.... с примерами было бы лучше запоминание ИМХО. Возможно, это я один такой трудноусвояемый :)
У меня всё равно переменные красным
даже после final?
Области применения этих знаний не понятны!!!!
Брейк, Дефолт
По моему бесполезный оператор.
Я бы сказал - очень редко используемый, но начинающим знать его необходимо. )