Vaihda lausunto sisään Java

⚡ Älykäs yhteenveto

Vaihda lausunto sisään Java on ehdollinen rakenne, joka suorittaa vain annettua syötearvoa vastaavan lohkon. Se vertaa kokonaislukua tai merkkiä useisiin tapauskohtaisiin tunnisteisiin käyttäen break-funktiota poistumiseen ja default-funktiota vastaamattomille arvoille.

  • 🔀 Kytkin määritelty: Ehdollinen lauseke, joka suorittaa vain syötearvoa vastaavan tapauksen.
  • 🏷️ Kotelon tunnisteet: Jokainen tapaus määrittää arvon ja kaksoispisteen, joita seuraavat suoritettavat lauseet.
  • ⛔ Tauko: Poistuu switch-lohkosta, kun vastaava tapaus on suoritettu.
  • 🧯 Oletus: Suoritetaan, kun mikään tapaus ei vastaa annettua syötearvoa.
  • ⚡ Miksi käyttää sitä: Puhtaampi ja nopeampi kuin sisäkkäinen if…else monissa ehdoissa; hyväksyy kokonaisluvut, merkit ja (Java 8+ jouset.

Vaihda lausunto sisään Java

Vaihda lausunnot sisään Java

Me kaikki käytämme kytkimiä säännöllisesti elämässämme. Kyllä, puhun sähkökytkimistä, joita käytämme valoissamme ja tuulettimissamme. Kuten alla olevasta kuvasta näet, jokainen kytkin on määritetty toimimaan tietyille sähkölaitteille. Esimerkiksi kuvassa ensimmäinen kytkin on tuulettimelle, seuraava valolle ja niin edelleen. Näin ollen voimme nähdä, että jokainen kytkin voi aktivoida/deaktivoida vain yhden kohteen.

Java Vaihtokotelon opetusohjelma

Missä Switch Case on Java?

Vaihda samalla tavalla sisään Java on eräänlainen ehdollinen lauseke, joka aktivoi vain täsmäytysehdon annetusta syötteestä. Tarkastellaan esimerkkiä ohjelmasta, jossa käyttäjä antaa syötteen numeerisena arvona (tässä esimerkissä vain 1 numero), ja tulosteen tulee olla sanojen lukumäärä. The kokonaislukumuuttuja iSwitch on tulo, jolla kytkin toimii.

Erilaiset käytettävissä olevat vaihtoehdot (lue tapaukset) kirjoitetaan sitten tapauksiksi sekä kaksoispiste “:”

Tämän jälkeen lauseke suoritetaan, jos tapaus ja kytkimen syöte täsmäävät.

Java Esimerkki kytkinkotelosta

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

Odotettu tuotos:

FOUR

Mitä ne 2 sanaa break ja default makaavat nyt tekevät?

  • Ensimmäinen "tauko" - yksinkertaisesti puhkeaa kytkinlohkosta, kun ehto täyttyy.
  • "Oletus" – Tämä suoritetaan, jos mikään ehdoista ei vastaa annettua syötettä.

Annetussa esimerkissä nämä ovat yksinkertaisia ​​print-lauseita, mutta ne voivat viitata myös monimutkaisempiin tilanteisiin, kuten metodin kutsumiseen jne.

Entä jos et tarjoa taukoa?

Jos taukoa ei tarjota, se suorittaa täsmäytysehdot sekä oletusehdon. Logiikkasi menee sekaisin, jos näin tapahtuu. Jätän käyttäjien tehtäväksi kokeilla ilman taukoa.

Java Vaihda lausunto

  • Normaalina ohjelmointilogiikkana se voidaan yksinkertaisesti saavuttaa käyttämällä if…else-ehtoja, mutta silloin sitä ei optimoida hyvään ohjelmointikäytäntöön eikä koodi näytä luettavalta.
  • Monimutkaisempia tapauksia sisäkkäisissä ohjelmissa skenaariot eivät ole niin yksinkertaisia ​​ja vaatisivat useiden metodien kutsumista. Switch ratkaisee tämän ongelman ja välttää useita sisäkkäisiä if…else-lausekkeita. Lisäksi if…else-metodia käytettäessä on suositeltavaa käyttää odotetuimpia ehtoja päällimmäisenä ja edetä sitten sisäkkäisessä muodossa.
  • Jotkut benchmark-testit ovat osoittaneet, että Javassa suuren iteraatiomäärän tapauksessa vaihto on nopeampi verrattuna if…else-lauseisiin.

Huomautukset

  • Java-tapausten määrää ei ole rajoitettu.
  • Switch java voi ottaa syötteen vain kokonaislukuina tai merkkeinä.
  • Uusin versio Java8 esittelee myös paljon odotetun tuen java-kytkinmerkkijonolausekkeelle.

Joten mene eteenpäin ja johda oma kytkintaulusi!!

UKK

A Java switch-lauseke hyväksyy byte-, short-, int- ja char-merkit, niiden kääreluokat, luettelot ja (koska Java 7) merkkijonot. Case-tunnisteiden on oltava vakiolausekkeita, jotka ovat yhteensopivia switch-muuttujatyypin kanssa.

Ilman taukoa suoritus "lankeaa läpi" ja suorittaa vastaavan tapauksen sekä kaikki sitä seuraavat tapaukset, mukaan lukien oletusarvoisen, taukoon tai lohkon loppuun asti. Tämä on joskus tarkoituksellista, mutta usein virhe.

Kyllä. Koska Java 7, switch-lausekkeet tukevat merkkijonoarvoja. Switch vertaa merkkijonoja equals()-metodilla, joten kirjainkoon mukaan on oltava tarkkoja ja kirjainkokoa erottavia merkkijonoliteraaleja.

Tekoäly voi analysoida pitkiä if-else-ketjuja, tunnistaa vertailtavan yksittäisen muuttujan ja muokata ne selkeämmäksi switch-lausekkeeksi asianmukaisilla case-nimikkeillä ja break-lausekkeilla, mikä parantaa luettavuutta ja suorituskykyä.

Kyllä. Tekoälyavusteiset linkit voivat merkitä tapauksia, joista puuttuu katkos ja jotka saattavat tahattomasti epäonnistua, ja ehdottaa sitten katkaisulausekkeiden tai eksplisiittisen epäonnistumiskommentin lisäämistä tarkoituksen selventämiseksi.

Tiivistä tämä viesti seuraavasti: