Przechodzę przez this samouczek dotyczący programowania w języku C. Jest napisane:Przełącznik: czy logika jest inna w C v/s. inne języki, takie jak Java?
Instrukcja switch jest w rzeczywistości zupełnie inna (z innych języków) i jest naprawdę "tabelą skoków". Zamiast wyrażeń losowych boolowskich można wstawiać tylko wyrażenia, które dają liczby całkowite, a te liczby całkowite są używane do obliczania skoków od góry przełącznika do części odpowiadającej tej wartości. Oto kod, który rozbijamy, aby zrozumieć tę koncepcję "tabel skoków".
Ale przypadki switch musi być porównane aż zostanie znaleziony (inaczej domyślny jest zwracana.)
Czym różni się od wielokrotności if-else wtedy? A może to tylko cukier syntaktyczny? Czy brakuje mi czegoś ważnego tutaj?
artykuł, który odwołuje się do wyjaśnia dokładnie, jak oświadczenie przełącznik może być zoptymalizowany do użycia tabeli przeskoku, a nie łańcucha porównań. Czytałeś to? –
Właściwie to jest zaimplementowane w Javie i podejrzewam, że inne języki oparte na C. –
Cytat odnosi się do Ruby jako innej. –