Wann Programmierer Computing-Anwendungen zu bauen, sie oft zu implementieren komplexe Strukturen in ihrem Code . Zum Beispiel , anstatt jede Zeile nacheinander ausführt , wird ein Programm oft mit Wiederholung und bedingte Tests bestimmen, welche Aussagen tatsächlich Code auszuführen. Case-Anweisungen , die auch als Switch-Anweisungen bekannt , Durchführung Sequenzen bedingte Tests . Chained Anweisungen if und else dies auch tun , so dass Programmierer oft zwischen den beiden Arten von Aussagen zu wählen. Unterschiede
Wenn und anderes Ketten kann manchmal Durchführung genau die gleiche Aufgabe wie ein Fall , oder Switch -Anweisung. Allerdings können einige Aufgaben nur von einem von ihnen getragen werden. Chained if und else Aussagen bieten eine Reihe von Tests für das Programm ausgeführt werden kann, wie im folgenden Beispiel Java-Code :
if ( num == 1 ) System.out.println ("eins" ) , sonst if ( num == 2 ) System.out.println (" zwei "); else if ( num == 3 ) System.out.println (" drei "); else System.out.println ( " nicht ein , zwei oder drei ");
Der folgende Code stellt die äquivalente Verarbeitung mit einer switch-Anweisung :
Schalter ( num) {case 1: System.out.println (" eins " ) break; case 2: System.out.println ( "zwei" ); break; case 3: System.out.println (" drei "); break; default: System.out.println (" nicht ein, zwei oder drei "); break;}
die Ergebnisse dieser Code-Blöcke sind die gleichen , obwohl ihre Umsetzung ist anders
Tests
Fall. oder Schalter , Aussagen können nur mit gewissen Datentypen. Zum Beispiel in Java können switch-Anweisungen nur auf primitive oder Aufzählungstypen , sowie die Wrapper-Klassen für die Anzahl Arten arbeiten. Wenn und else-Anweisungen durchführen können Tests an einem beliebigen Datentyp , einschließlich Objekten. Die Tests in switch-Anweisungen nur um einen einzelnen Wert , während in if-und else -Anweisungen , Code für Werte innerhalb eines bestimmten Bereichs testen können , oder für Kombinationen von Bedingungen mit den logischen Operatoren - und , oder und nicht . Dies bedeutet, dass wenn und else-Anweisungen mehr Entscheidungen in Bezug auf bedingte Tests liefern .
Chains
Anstatt einfach nur eine Frage der Wahl einer Steuerstruktur , dass realisiert die geforderte Verarbeitung, Programmierer oft wählen Strukturen auf Lesbarkeit basiert. Viele Programmierer finden Case-Anweisungen mehr prägnant und lesbar, wenn einfache Werte getestet werden . Eine lange Liste von if und else -Anweisungen können unnötig verbose in einem Skript erscheinen . Ablesbarkeit ist ein wichtiger Faktor in der Programmierung, für die zukünftige Entwicklung und für Projekte mit mehr als einem Entwickler an ihnen arbeiten .
Breaks
In einer Kette von if und else-Anweisungen Es ist normalerweise nicht nötig , um aus einer Struktur explizit . Mit Koffer , oder Schalter , Aussagen ist es jedoch notwendig, eine break-Anweisung verwenden , das Programm an, den Code -Block zu verlassen , wenn die passenden Fall gefunden wird. Wenn keine break-Anweisungen enthalten sind , kann eine switch-Anweisung daher unnötige Tests durchzuführen . Programmierer manchmal auch zu vernachlässigen, um die Standard- case-Anweisung , die zu unvorhersehbaren Verhalten führen können, umfassen .