? När programmerare bygga datorapplikationer , de ofta implementera komplexa strukturer i sin kod . Till exempel , istället för varje linje köra sekventiellt , kommer ett program innebär ofta upprepning och villkorliga tester som avgör vilken kod uttalanden faktiskt utför . Case uttalanden , även känd som switch-satser , utföra sekvenser av villkorliga tester . Kedjade if och else uttalanden gör också detta , så programmerare ofta måste välja mellan de två typerna av uttalanden . Skillnader
p Om och annat kedjorna kan ibland utföra exakt samma uppgift som ett fall , eller switch , uttalande. Emellertid kan vissa uppgifter endast utföras av en av dem . Kedjade if och else uttalanden ger en serie tester för programmet att utföra , som i följande exempel Java-kod :
if ( num == 1 ) System.out.println ( " en " ) ; annars if ( num == 2 ) System.out.println ( " två " ) , else if ( num == 3 ) System.out.println ( " tre " ) , else System.out.println ( " inte en , två eller tre " ) ;
följande kod representerar motsvarande behandling med en switch-sats :
switch ( num ) { case 1 : System.out.println ( " en " ) , break ; case 2 : System.out.println ( " två " ) , break; case 3 : System.out.println ( " tre " ) , break; default : System.out.println ( " inte en, två eller tre " ) , break ; }
resultaten av dessa kodblock är densamma även om deras genomförande är annorlunda
test
Case . eller switch , uttalanden kan bara innebära vissa datatyper . Till exempel i Java , kan switch-satser fungerar bara på primitiva eller uppräknade typer, liksom klasser wrapper för nummertyperna . If och else uttalanden kan utföra tester på alla datatyper , inklusive föremål . Testerna i switch uttalanden innebär endast ett enda värde , medan if och else uttalanden , kan koden testet för värden inom ett visst intervall , eller kombinationer av förhållanden med hjälp av logiska operatörer - och , eller och inte . Detta innebär att om och annars uttalanden ger fler valmöjligheter när det gäller villkorliga tester .
Kedjor
Snarare än att bara vara en fråga om att välja en kontroll struktur som implementerar den nödvändiga behandlingen , programmerare väljer ofta strukturer som bygger på läsbarhet . Många programmerare hittar case uttalanden mer koncis och lättläst när enkla värden testas . En lång lista med if och else uttalanden kan synas onödigt mångordig i ett manus . Läsbarhet är en viktig faktor i planeringen , för framtida utveckling och för projekt med mer än en utvecklare som arbetar på dem .
Breaks
i en kedja av if och else uttalanden , finns det normalt ingen anledning att bryta sig ur en struktur explicit . Med fallet , eller switch , uttalanden är det dock nödvändigt att använda ett break , instruerar programmet att avsluta kodblock när matchande fallet hittas . Om inga break uttalanden ingår , kan en switch uttalande genomför därför onödiga tester . Programmerare också ibland försummar att inkludera ett uttalande standard fallet , vilket kan leda till oförutsägbara beteende .