Java SE. Урок 11. Оператор switch ( оператор множественного выбора )

Поділитися
Вставка
  • Опубліковано 19 гру 2024

КОМЕНТАРІ • 71

  • @DmitryDolganov
    @DmitryDolganov 4 роки тому +6

    Иногда Вы допускаете ошибки, но это все мелочи - все мы люди! НО!!! Подача материала суперская!!!

  • @allazhmaka6861
    @allazhmaka6861 2 роки тому +3

    Только это видео помогло разобраться со switch. Спасибо

    • @java1279
      @java1279 2 роки тому

      можете посмотреть видео уроки для начинающих по JAVA также на моем канале.

  • @НатальяЛукина-я3х

    Спасибо! Замечательная подача материала!! Подписка, лайк, и рекомендация вашего канала!

  • @TheMordreID
    @TheMordreID 4 роки тому +51

    Плохо показали, что может быть константами в данном операторе. Так новички могут подумать, что если входной переменной в оператор switch может быть только константа, то получается, что он всегда будет выполнять только один блок.
    Входной переменной в switch(value) может быть обычная переменная, которая в ходе работы кода может изменяться. А вот переменные в блоках case FIRST_VALUE обязательно должны быть константами, иначе если бы кейсы менялись по ходу программы, то это могло бы привести к неодназначному поведению программы.

    • @itroalfa4893
      @itroalfa4893 4 роки тому +1

      тяжело понять, но полезно. Спасибо

    • @TheMordreID
      @TheMordreID 4 роки тому +14

      @@itroalfa4893 пример, у тебя чат бот, принимает сообщения, и чтобы проверить, что написал пользователь можно использовать switch:
      switch(message) {
      case "привет":
      //Обработка данного сообщения
      break;
      case "подписаться":
      //Обработка данного сообщения
      break;
      default:
      //Допустим ответить, что бот не понимает пользователя
      }
      Здесь входная переменная в оператор switch может меняться в ходе выполнения программы, отчего и управление будет передаваться разным кейсам

    • @itroalfa4893
      @itroalfa4893 4 роки тому +5

      @@TheMordreID спасибо. Теперь понятно абсолютно

    • @1244B-j1v
      @1244B-j1v 4 роки тому

      niche ne ponyal no spasibo :D

    • @NiflheimForever
      @NiflheimForever 4 роки тому

      Так, а что он говорил про большие буквы в константах, почему большие? У меня и с маленькими работает, только начал программировать, не понял слегка.

  • @andrey7769
    @andrey7769 7 років тому +10

    Спасибо большое. Лучшие уроки! Все кратко и понятно.

  • @marinamironova9089
    @marinamironova9089 4 роки тому +2

    Спасибо за видео! Наконец то в этом уроке хорошо видно и четко, что написано на рабочем столе)))))

  • @dmitrydemianov532
    @dmitrydemianov532 7 років тому +39

    Brick - это брик(кирпич).
    Break - брэйк(ломать).

    • @followthewhiterabbit6924
      @followthewhiterabbit6924  7 років тому +12

      Это Вы ещё про овцу не смотрели ))

    • @panbanan1151
      @panbanan1151 4 роки тому

      На самом деле читается скорее как брык

    • @Цикада-о1в
      @Цикада-о1в 4 роки тому +2

      @@followthewhiterabbit6924 какую овцу?

    • @kak7
      @kak7 3 роки тому +2

      ua-cam.com/video/kCOhruI3cIs/v-deo.html

    • @allazhmaka6861
      @allazhmaka6861 2 роки тому

      Это не уроки грамматики. Многие начинающие, которые хотят освоить Джаву, английский учат по ходу. Так что новичок не заметит, что там, кирпич или поломаный кирпичь

  • @РудольфАбель-в3ф
    @РудольфАбель-в3ф 7 років тому +5

    Мужик ты молодец. Классное видео, всё понятно. Огромное спасибо.

  • @ЛеонидВ-й6ъ
    @ЛеонидВ-й6ъ 4 роки тому +2

    Отличный урок.Спасибо!

  • @sergeichwelcome
    @sergeichwelcome 4 роки тому

    Почему с каждым видео всё меньше и меньше просмотров? Отличные уроки и грамотная речь, а то есть некоторые зануды.

    • @followthewhiterabbit6924
      @followthewhiterabbit6924  4 роки тому +4

      Думаю , многие понимают, что это не их тема )

    • @vector8105
      @vector8105 3 роки тому +1

      @@followthewhiterabbit6924 первые 11 уроков быстро пролетели, завтра-после завтра надеюсь все досмотрю и опробую.

  • @Rem-y6j
    @Rem-y6j 2 роки тому +1

    Классовые оболочки это же : Byte, Short, Integer, Character. Да?

  • @antonstepbystep
    @antonstepbystep 3 роки тому

    спасибо и лайк! но на слове брик кровь из ушей потекла ))

  • @olzhikggg6915
    @olzhikggg6915 3 роки тому +1

    в итоге какой из трех VALUE выведет оператор SWITCH?

    • @former_into_latter
      @former_into_latter 3 роки тому +1

      Он выведет не VALUE, а выполнит оператор System.out.println(SECOND_VALUE);

    • @former_into_latter
      @former_into_latter 3 роки тому +1

      Советую чел не учиться по его роликам, а читать книги, он многое упустил об этом операторе, и ещё занимал время своими тоеоритическими размышлениями на счёт реализации строк в switch
      Я вообще искал достоинства использования switch...

    • @olzhikggg6915
      @olzhikggg6915 3 роки тому

      @@former_into_latter дада бро я изучаю джава по разным источникам... много вещей по разному преподносятся

  • @antonprotasov941
    @antonprotasov941 4 роки тому +4

    Спасибо! Как всегда великолепно!
    А что за волшебство по переводу комментариев в код одним щелчком ?
    И, кстати, не хочу умничать, но я случайно проверил и оказалось, что все работает даже если переменные после final написаны строчными буквами (возможно в 8 Java разрешили)...

    • @David_2002
      @David_2002 4 роки тому +2

      Для однострочных: Ctrl + /
      Для многострочных: Ctrl + Shift + /

    • @МихаилСерегин-л1г
      @МихаилСерегин-л1г 4 роки тому

      @@David_2002 в многострочных шифт не нужен, без него все нормально

    • @eritas777
      @eritas777 2 роки тому

      Они и не запрещали. Писать названия констант большими буквами - это просто принято так у разработчиков, чтобы в проектах, над которыми работают несколько человек, другие разработчики с первого взгляда понимали, что это константа.

    • @andreyb8905
      @andreyb8905 Рік тому

      ​@@eritas777 если по-русски, это - правило хорошего тона

  • @jessyjester6215
    @jessyjester6215 4 роки тому

    А разве мы можем сделать value++, ведь свич работает с константами? 5:21

    • @NiflheimForever
      @NiflheimForever 4 роки тому +1

      Как я понял, в 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. Только я не понял почему автор сказал что переменная константы должна быть с большой буквы, у меня и с маленькой работает, может это специальное обозначение константы, чтобы другие программисты поняли это, но хз.

    • @kannsky8812
      @kannsky8812 4 роки тому +1

      @@NiflheimForever все четко объяснил!

    • @Нонэйм-м1р
      @Нонэйм-м1р 2 роки тому

      @@NiflheimForever Четко

  • @сашапьянков-е1о
    @сашапьянков-е1о 4 роки тому

    А если case дублируются, switch не отработает?

  • @deimont5517
    @deimont5517 7 років тому +1

    что за оператор foo? видел его с самого начала уроков, но до сих пор не понял что это значит

    • @followthewhiterabbit6924
      @followthewhiterabbit6924  7 років тому +1

      Это не оператор - это метод, логического смысла он никакого не несет, можно было писать все в main ))

    • @mishamalutin2742
      @mishamalutin2742 7 років тому +2

      это название метода

    • @metaversguy
      @metaversguy 5 років тому

      @@followthewhiterabbit6924 я не пойму, если валью константа, то какой тогда вообще смысл от свича? он всегда будет принимать одно и тоже значение...

    • @hotis8
      @hotis8 5 років тому +2

      @@metaversguy Автор использовал константу для демонстрации не много запутанно. На самом деле константами должны быть все переменные, кроме value (в данном конкретном примере) поскольку с этими переменными идёт сравнение, точнее со значениями этих самых переменных, сравнивается значение value. Надеюсь стало понятнее.

    • @qwiy5955
      @qwiy5955 5 років тому

      @@metaversguy константами должно быть то что в кейсах. VALUE это перемменная

  • @Антонина-л5х
    @Антонина-л5х 6 років тому +1

    Спасибо

  • @baidaemil4149
    @baidaemil4149 4 роки тому +1

    Спс все четко и понятно!!!!! Только я Ваш сайт не могу найти. Был бы очень благодарен если напишите! спс Заранее

  • @Евгений-ч9к2ф
    @Евгений-ч9к2ф 7 років тому +2

    если он работает с константами, то не особо то он годится что бы if else заменять

    • @followthewhiterabbit6924
      @followthewhiterabbit6924  7 років тому +1

      Оператор Switch не предназначен для замены if-else. Просто бывают такие моменты. Да и понятие константы тут относительное, потому как константа это переменная с модификатором final, или static final - если константа класса. Тут стоит обратить внимание на используемые типы переменных, потому как их значения находятся в пуле литералов.

    • @Евгений-ч9к2ф
      @Евгений-ч9к2ф 7 років тому

      спс.

    • @followthewhiterabbit6924
      @followthewhiterabbit6924  7 років тому +1

      Пожалуйста. Со временем все моменты прояснятся. По началу всегда тяжело.

  • @ЮргенМарков
    @ЮргенМарков 11 місяців тому +1

    Оператор switch то же самое, что и if….

  • @South_Hub
    @South_Hub 4 роки тому +3

    "Брик" ))

  • @franken1945
    @franken1945 2 роки тому

    Всё супер, но мне кажется, по-крайней мере, как начинающему:
    1. начинать написание с большой буквы или писать большими буквами? А-то озвучивается первое, а выполняется (в кадре) второе - запутывает расхождение слов с делом;
    2. ассоциативная привязка методов (примеры применения), операторов и прочего к конкретным местам применения - хотя бы по одному примеру из практики,- лучше бы отпечатывало в памяти конструкции. А-то абстракции сдувает, как листья - голые символы в голове ни к чему не крепятся и не долго задерживаются. Хоть и пишу за автором, и ещё плюс экспериментирую от себя всякое, всё-равно выдувает на сл.день, через день.... с примерами было бы лучше запоминание ИМХО. Возможно, это я один такой трудноусвояемый :)

  • @АртёмЕвдокимов-е5ч
    @АртёмЕвдокимов-е5ч 5 років тому

    У меня всё равно переменные красным

  • @ЮргенМарков
    @ЮргенМарков 11 місяців тому +1

    Области применения этих знаний не понятны!!!!

  • @saralex77
    @saralex77 Рік тому

    Брейк, Дефолт

  • @malygos1898
    @malygos1898 7 років тому

    По моему бесполезный оператор.

    • @followthewhiterabbit6924
      @followthewhiterabbit6924  7 років тому +3

      Я бы сказал - очень редко используемый, но начинающим знать его необходимо. )