Switch Statement în Java

⚡ Rezumat inteligent

Switch Statement în Java este o construcție condițională care execută doar blocul care corespunde unei valori de intrare date. Compară un număr întreg sau un caracter cu mai multe etichete de caz, folosind break pentru ieșire și implicit pentru valorile nepotrivite.

  • 🔀 Comutator definit: O instrucțiune condițională care rulează doar cazul care corespunde valorii de intrare.
  • 🏷️ Etichete de caz: Fiecare caz specifică o valoare și două puncte, urmate de instrucțiuni de execuție.
  • Pauză: Ieși din blocul de comutare odată ce a fost executat un caz corespunzător.
  • 🧯 Mod implicit: Se execută atunci când nicio majuscule sau minuscule nu corespunde valorii de intrare date.
  • De ce să-l folosești: Mai curat și mai rapid decât imbricatul if…else pentru multe condiții; acceptă numere întregi, caractere și (Java 8+) corzi.

Switch Statement în Java

Comutați declarațiile în Java

Cu toții folosim întrerupătoare în mod regulat în viața noastră. Da, vorbesc despre întrerupătoarele electrice pe care le folosim pentru lumini și ventilatoare. După cum vedeți din imaginea de mai jos, fiecare comutator este atribuit să funcționeze pentru un anumit echipament electric. De exemplu, în imagine, primul întrerupător este pentru un ventilator, următorul pentru lumină și așa mai departe. Astfel, putem observa că fiecare comutator poate activa/dezactiva doar 1 articol.

Java Tutorial de comutare a cazului

În ce constă Switch Case Java?

În mod similar, comutați Java este un tip de instrucțiune condiționată care activează numai condiția de potrivire din intrarea dată. Să luăm în considerare exemplul unui program în care utilizatorul dă intrare ca valoare numerică (doar 1 cifră în acest exemplu), iar rezultatul ar trebui să fie numărul de cuvinte. The variabilă întreagă iSwitch, este intrarea pentru ca comutatorul să funcționeze.

Diversele opțiuni disponibile (cazuri de citire) sunt apoi scrise ca cazuri împreună cu două puncte „:”

Aceasta va avea apoi instrucțiunea de executat dacă cazul și intrarea la comutator se potrivesc.

Java Exemplu de comutare a cazului

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;
 }
}
}

Ieșire preconizată:

FOUR

Acum, ce fac acele 2 cuvinte pauză și implicite acolo?

  • Primul „se rupe” – pur și simplu va ieși din blocul de comutare odată ce o condiție este îndeplinită.
  • „Implicit” – Acesta va fi executat în cazul în care niciuna dintre condiții nu corespunde intrării date.

În exemplul dat, acestea sunt instrucțiuni simple tipărite, cu toate acestea, ele se pot referi și la situații mai complexe, cum ar fi apelarea unei metode etc.

Ce se întâmplă dacă nu oferi o pauză?

În cazul în care întreruperea nu este furnizată, acesta va executa condițiile de potrivire, precum și condiția implicită. Logica voastră va da peste cap dacă se întâmplă asta. Voi lăsa utilizatorilor să experimenteze fără a folosi o pauză.

Java Declarație Switch

  • Ca logică de programare standard, poate fi realizat pur și simplu prin utilizarea condițiilor if...else, dar atunci nu va fi optimizat pentru o bună practică de programare și nici codul nu pare lizibil.
  • În programele care implică cazuri mai complicate, scenariile nu vor fi atât de simple și ar necesita apelarea mai multor metode. Switch rezolvă această problemă și evită utilizarea mai multor instrucțiuni if...else imbricate. De asemenea, atunci când se utilizează if...else, se recomandă utilizarea condiției celei mai așteptate ca fiind cea mai importantă și apoi continuarea într-o manieră imbricată.
  • Unele teste de benchmarking au dovedit că, în cazul unui număr mare de iterații în Java, schimbarea este mai rapidă în comparație cu instrucțiunile if…else.

Puncte de remarcat

  • Nu există limită pentru numărul de case java pe care le puteți avea.
  • Switch java poate primi intrare numai ca numere întregi sau caractere.
  • Cea mai recentă versiune a Java8 introduce, de asemenea, mult așteptatul suport pentru declarația java switch strings.

Așa că acum mergeți mai departe și conectați-vă propriul tablou!!

Întrebări frecvente

A Java Instrucțiunea switch acceptă byte, short, int, char, clasele lor wrapper, enum-uri și (deoarece Java 7) șiruri de caractere. Etichetele de caz trebuie să fie expresii constante compatibile cu tipul variabilei switch.

Fără o pauză, execuția „scadă” și rulează cazul corespunzător plus toate cazurile următoare, inclusiv cel implicit, până la o pauză sau la sfârșitul blocului. Acest lucru este uneori intenționat, dar adesea o eroare.

Da. Din moment ce Java 7, instrucțiunile switch acceptă valori de tip șir de caractere. Switch-ul compară șirul folosind metoda equals(), așadar etichetele de tip „minuscule/minuscule” trebuie să fie literali de șir exacti, sensibili la majuscule/minuscule.

IA poate analiza lanțuri lungi de tip if-else, poate identifica o singură variabilă comparată și le poate refactoriza într-o instrucțiune switch mai curată, cu etichete de caz și instrucțiuni break adecvate, îmbunătățind lizibilitatea și performanța.

Da. Linterele asistate de inteligență artificială pot semnala cazurile cărora le lipsește o pauză și care pot eșua neintenționat, apoi pot sugera adăugarea de declarații de pauză sau a unui comentariu explicit privind eșecul pentru a clarifica intenția.

Rezumați această postare cu: