Byt uttalande in Java

โšก Smart sammanfattning

Byt uttalande in Java รคr en villkorlig konstruktion som endast exekverar blocket som matchar ett givet indatavรคrde. Den jรคmfรถr ett heltal eller tecken mot flera gemener och anvรคnder break fรถr att avsluta och default fรถr omatchade vรคrden.

  • ๐Ÿ”€ Definierad brytare: En villkorlig sats som endast kรถr det fall som matchar indatavรคrdet.
  • ๐Ÿท๏ธ Falletiketter: Varje fall anger ett vรคrde och ett kolon, fรถljt av instruktioner som ska kรถras.
  • โ›” Ha sรถnder: Lรคmnar switchblocket nรคr ett matchande รคrende har exekverats.
  • ๐Ÿงฏ Standard: Kรถrs nรคr inget skiftlรคge matchar det angivna indatavรคrdet.
  • โšก Varfรถr anvรคnda det: Renare och snabbare รคn kapslad ifโ€ฆelse fรถr mรฅnga villkor; accepterar heltal, tecken och (Java 8+ strรคngar.

Byt uttalande in Java

Vรคxla in uttalanden Java

Vi anvรคnder alla strรถmbrytare regelbundet i vรฅra liv. Ja, jag pratar om elektriska strรถmbrytare som vi anvรคnder fรถr vรฅra lampor och flรคktar. Som du ser frรฅn bilden nedan รคr varje strรถmbrytare tilldelad att fungera fรถr speciell elektrisk utrustning. Till exempel pรฅ bilden รคr den fรถrsta strรถmbrytaren fรถr en flรคkt, nรคsta fรถr ljus och sรฅ vidare. Sรฅledes kan vi se att varje omkopplare kan aktivera/avaktivera endast 1 objekt.

Java Handledning fรถr Switch Case

Vad รคr Switch Case i Java?

Pรฅ samma sรคtt, vรคxla in Java รคr en typ av villkorssats som endast aktiverar det matchande villkoret frรฅn den givna inmatningen. Lรฅt oss betrakta exemplet pรฅ ett program dรคr anvรคndaren anger indata som ett numeriskt vรคrde (endast 1 siffra i det hรคr exemplet), och utdata ska vara antalet ord. De heltalsvariabel iSwitch, รคr ingรฅngen fรถr att switchen ska fungera.

De olika tillgรคngliga alternativen (lรคsta fall) skrivs sedan som fall tillsammans med ett kolon ":"

Detta kommer dรฅ att ha satsen som ska kรถras om fallet och indata till switchen matchar.

Java Switch Case Exempel

class SwitchBoard{
 public static void main(String args[]){
   int iSwitch=4;
   switch(iSwitch){
     case 0:
     System.out.println("ZERO");
     break;

     case 1:
     System.out.println("ONE");
     break;

     case 2:
     System.out.println("TWO");
     break;

     case 3:
     System.out.println("THREE");
     break;

     case 4:
     System.out.println("FOUR");
     break;

     default:
     System.out.println("Not in the list");
     break;
 }
}
}

Fรถrvรคntad produktion:

FOUR

Vad gรถr nu de dรคr tvรฅ ordens brytning och standard som ligger dรคr ute?

  • Den fรถrsta "bryta" - kommer helt enkelt att bryta ut frรฅn switchblocket nรคr ett villkor รคr uppfyllt.
  • "Standard" โ€“ Detta kommer att utfรถras om inget av villkoren matchar den givna inmatningen.

I det givna exemplet รคr dessa enkla utskriftssatser, men de kan ocksรฅ hรคnvisa till mer komplexa situationer som att anropa en metod, etc.

Vad hรคnder om du inte ger en paus?

Om pausen inte tillhandahรฅlls kommer den att utfรถra matchningsvillkoren sรฅvรคl som standardvillkoret. Din logik kommer att gรฅ รฅt helvete om det hรคnder. Jag kommer att รถverlรฅta till anvรคndarna att experimentera utan att anvรคnda en paus.

Java Byt uttalande

  • Som en standardprogrammeringslogik kan den helt enkelt uppnรฅs genom att anvรคnda if...else-villkor, men dรฅ kommer den inte att optimeras fรถr god programmeringspraxis och inte heller ser koden lรคsbar ut.
  • I program som involverar mer komplicerade fall kommer scenarier inte att vara sรฅ enkla och skulle krรคva anrop av flera metoder. Switch lรถser detta problem och undviker flera kapslade ifโ€ฆelse-satser. Nรคr man anvรคnder ifโ€ฆelse rekommenderas det ocksรฅ att anvรคnda det mest fรถrvรคntade villkoret รถverst och sedan fortsรคtta pรฅ ett kapslat sรคtt.
  • Vissa benchmarkingtester har visat att i Java-fall med ett stort antal iterationer รคr vรคxlingen snabbare jรคmfรถrt med ifโ€ฆelse-satser.

Pekar pรฅ anteckning

  • Det finns ingen grรคns fรถr hur mรฅnga fall java du kan ha.
  • Switch java kan endast ta emot indata som heltal eller tecken.
  • Den senaste versionen av Java8 introducerar ocksรฅ det efterlรคngtade stรถdet fรถr java switch strings statement.

Sรฅ fortsรคtt nu och koppla din egen vรคxel!!

Vanliga frรฅgor

A Java switch-satsen accepterar byte, short, int, char, deras wrapper-klasser, enums och (eftersom Java 7) strรคngar. Falletiketterna mรฅste vara konstanta uttryck som รคr kompatibla med variabeltypen switch.

Utan avbrott "faller" exekveringen igenom och kรถr matchande fall plus alla efterfรถljande fall, inklusive standardfall, tills ett avbrott eller slutet av blocket. Detta รคr ibland avsiktligt men ofta en bugg.

Ja. Sedan Java 7, switch-satser stรถder strรคngvรคrden. Switchen jรคmfรถr strรคngen med hjรคlp av equals()-metoden, sรฅ gemener och skiftlรคgesetiketter mรฅste vara exakta, gemener och skiftlรคgeskรคnsliga strรคngliteraler.

AI kan analysera lรฅnga if-else-kedjor, identifiera en enskild variabel som jรคmfรถrs och omfaktorera dem till en renare switch-sats med korrekta case- och break-satser, vilket fรถrbรคttrar lรคsbarhet och prestanda.

Ja. AI-assisterade linters kan flagga รคrenden som saknar en paus och oavsiktligt kan falla igenom, och sedan fรถreslรฅ att man lรคgger till paussatser eller en explicit fall-through-kommentar fรถr att tydliggรถra avsikten.

Sammanfatta detta inlรคgg med: