Другие языки программирования и технологии
Нужно ли знать switch case, если есть обычный If else, стоит ли забивать себе этим голову?
Знать нужно все операторы (они все когда-нибудь пригодятся, как минимум - для понимания чужого кода). Их все-таки не так много, так что "забить голову" таким малым объемом инфы, даже при желании не получится.
Евгений Клепарский
Понял switch case, прикольно в принципе, понравился. Чисто для проверки переменной, пригодится где-нибудь в вопросах в виде теста. Но это фактически тоже самое, что и if else, только как-то покрасивее выглядит))
Знать синтаксис? Чего его знать-то? Один раз прочесть про него - и уже знаешь
Евгений Клепарский
Понял switch case, прикольно в принципе, понравился. Чисто для проверки переменной, пригодится где-нибудь в вопросах в виде теста. Но это фактически тоже самое, что и if else, только как-то покрасивее выглядит. И голову не забил))
Зачем учить слово "стул", если есть табуретка?!
Это настолько малая доля даже одного процента от знания языка с библиотеками среды программирования, что говорить о "забивании головы" смешно. Так же, как при изучении иностранного языка спрашивать, выучить или нет какое-то одно конкретное слово.
Вообще же чем больше средств языка вы знаете, тем короче и проще будут программы. Можно ведь и вместо циклов обойтись goto :))
Вообще же чем больше средств языка вы знаете, тем короче и проще будут программы. Можно ведь и вместо циклов обойтись goto :))
Володя Чернов
goto разве есть в java?
Если вам нравится городить дерево из бинарного выбора вместо множественного - городите, и не жалуйтесь на нехватку памяти.
Черников Геннадий
Объём памяти там приблизительно одинаковый. В большинстве случаев switch отличается от if только синтаксисом. Если много вариантов выбора, то для switch компилятор может создать более эффективный код.
Знать надо, точнее понимать для чего его изобрели.
Допустим у тебя алгоритм пошел на разветвление и этих ветвлений целое число,
по сути пусть 1 ...1000000 разных ветвей и все зависит от переменной K если ты будешь тупо писать K=1 K=2 и так далее, то просто это будет куча времени занимать, а переключатель этот по сути создает список из 1000000 указателей на адрес кода куда надо перейти от значения K, то бишь буквально пару операций и ты там, где надо, а не как в худшем случае если тебе надо 1000000 операция и ты их будешь все проверять пока доберешься до нужного.
Я конечно очень утрировал, но где-то даже 10 ветвлений если они каждый раз выполняются могут повысить быстродействие кода во много раз.
Допустим у тебя алгоритм пошел на разветвление и этих ветвлений целое число,
по сути пусть 1 ...1000000 разных ветвей и все зависит от переменной K если ты будешь тупо писать K=1 K=2 и так далее, то просто это будет куча времени занимать, а переключатель этот по сути создает список из 1000000 указателей на адрес кода куда надо перейти от значения K, то бишь буквально пару операций и ты там, где надо, а не как в худшем случае если тебе надо 1000000 операция и ты их будешь все проверять пока доберешься до нужного.
Я конечно очень утрировал, но где-то даже 10 ветвлений если они каждый раз выполняются могут повысить быстродействие кода во много раз.
Твоя голова, -тебе и решать.
Да, это чрезвычайно полезная конструкция в Джаваскрипт и других языках. По смыслу она заменяет if-else, когда много условий. Несколько раз попробуете применить и больше никогда не забудете ее.
можно и не забивать вообще джавой голову.
Похожие вопросы
- Как на языке С++ сделать вывод 5 задач через switch-case?
- [PASCAL] IF - ELSE IF - ELSE. Программирование.
- Язык программирования паскаль, оператор if-else
- что нужно выучить чтобы, например, создавать игры, или обычные программы, или же скрипты
- Нужно ли знать JavaScript в backend'e?
- Нужно ли знать английский и математику для программиста?
- Что бы знать яыки програмирования и писать программы нужно хорошо знать математику ? Можно ли обойтись без этого ?
- Нужно ли знать физику Программисту?
- Нужно ли знать математику, для програмирования?
- Какие школьные предметы нужно хорошо знать, чтобы стать программистом?