Süntaks:
lüliti (muutuja või avaldis)juhtumi väärtus-1:
Väide 1… N
murda;
juhtumi väärtus-2:
Väide 1… N
murda;
.
.
.
juhtumiväärtus n:
Väide 1… N
murda;
vaikimisi:
Väide 1… N
Siin saate kasutada mis tahes muutujat või avaldist lüliti osa, mis sobitatakse juhtum väärtus. "murda'avaldus ja'vaikimisi'osa on valikuline lülituskarp avaldus. Aga kuimurda lause on kõigi või kõigi jaoks välja jäetud juhtum avaldusi, siis kontrollitakse järgmise juhtumi väärtust või kõiki juhtumiväärtusi määratletud väärtusega lüliti osa. Kui ükski neist juhtum väärtus sobib väärtusega lüliti väärtus, siis avaldused vaikimisi osa hukatakse. Kuidas lülituskarp avaldus töötab valikuliste osadega ja ilma, on toodud allpool erinevate näidete abil.
Näide 1: Switch-case lause kasutamine ilma katkestuste ja vaikimisi
Järgmine näide näitab, kuidas switch-case lause töötab, kui ei murda ja vaikimisi kasutatakse avaldusi. Stringi andmed võetakse sisendina ja salvestatakse muutujasse, ID, ja väärtus ID kontrollitakse iga juhtumi väärtusega. See mitte ainult ei prindi teadet juhul, kui juhtumiväärtus sobib ID väärtusega, vaid prindib ka kõik ülejäänud juhtumi jaotise sõnumid, kuna pole murda kasutatakse lauset. Kui ükski juhtumi väärtus ei ühti ID väärtus, siis ei prindita ühtegi teadet, sest ei vaikimisi jaotist kasutatakse koodis.
// Skanneri paketi importimineimport java.kasut.Skanner;
avaliku klassi lüliti1
public staatiline void main (String [] args)
// Skanneri objekti loomine
Skanneri sisend = uus skanner (süsteem.sisse);
Süsteem.välja.print ("Sisesta oma ID:");
// Võta kasutajalt stringi andmed
Stringi ID = sisend.järgmine ();
// Vaheta avaldist
lüliti (ID)
// Juhtumi avaldus-1
juhtum "0111786":
Süsteem.välja.println ("Teie partii on 24");
// Juhtumi kirjeldus-2
juhtum "0111234":
Süsteem.välja.println ("Teie partii on 20");
// Juhtumi avaldus-3
juhtum "0111923":
Süsteem.välja.println ("Teie partii on 37");
// Sulgege skanneri objekt
sisend.Sulge();
Väljund:
Järgmine väljund kuvatakse juhul, kui sisendi väärtus vastab esimese juhtumi väärtusele pärast skripti käivitamist. Kaks viimast sõnumit prinditakse siia, et need ära jätta murda avaldus.
Kui sisendi väärtus vastab teisele juhtumi väärtusele, kuvatakse järgmine väljund.
Kui sisendväärtus ei ühti ühegi juhtumi väärtusega, ei kuvata selle väljajätmiseks väljundit vaikimisi jaotises.
2. näide: vaikelõikega lülitusjuhtude avalduse kasutamine
Vaikimisi jaotis on hädavajalik, et juhtumite blokeerimine trükkiks kasutajale teate, et vastet ei leitud. Järgmises näites on näidatud vaikelõigu kasutamine kommutaatorite plokis. Siin kontrollitakse numbri väärtust switch-case lause iga juhtumi väärtusega ja vastet ei leita, seejärel kuvatakse vaikimisi jaotis trükitakse.
avaliku klassi lüliti2public staatiline void main (String [] args)
int arv = 380;
lüliti (number)
// Juhtumi avaldus-1
juhtum 440:
Süsteem.välja.println ("Teid valitakse A-rühma");
// Juhtumi kirjeldus-2
juhtum 500:
Süsteem.välja.println ("Teid valitakse rühma B");
// Juhtumi avaldus-3
juhtum 890:
Süsteem.välja.println ("Teid valitakse rühma C");
// Käivitage vaikelause, kui kõik tähed tagastavad vale
vaikimisi:
Süsteem.välja.println ("Vabandust, teid pole valitud");
Väljund:
Pärast koodi käivitamist ilmub järgmine väljund. Koodi järgi on väärtusele määratud väärtus number muutuja ei ühti ühegi juhtumi väärtusega. Niisiis, vaikimisi jaotis on siin trükitud.
Näide 3: Switch-case lause kasutamine vaikimisi ja breakiga
Järgmises näites on näidatud vaikelõigu ja katkestuste avaldusega switch-case lause kasutamine. Siin võetakse kursuse kood kasutaja sisendina ja seda kontrollitakse iga juhtumi väärtusega. Kui mõni vaste on olemas, käivitatakse vastava juhtumi jaotise laused ja programm lõpetatakse lülitusjuhtumite plokist murda avaldus. Kui vastet pole, siis käivitatakse vaikesektsiooni avaldused.
// Skanneri paketi importimineimport java.kasut.Skanner;
avaliku klassi lüliti3
public staatiline void main (String [] args)
// Skanneri objekti loomine
Skanneri sisend = uus skanner (süsteem.sisse);
Süsteem.välja.print ("Sisestage kursuse kood:");
// Võta kasutajalt stringi andmed
Stringkood = sisend.järgmine ();
lüliti (kood)
// Juhtumi avaldus-1
juhtum "CSE-105":
Süsteem.välja.println ("Kursuse nimi: Java programmeerimine");
Süsteem.välja.println ("Krediiditund: 2");
Süsteem.välja.println ("Semester: 2");
murda;
// Juhtumi kirjeldus-2
juhtum "CSE-207":
Süsteem.välja.println ("Kursuse nimi: andmestruktuur");
Süsteem.välja.println ("Krediiditund: 2");
Süsteem.välja.println ("Semester: 4");
murda;
// Juhtumi avaldus-3
juhtum "CSE-402":
Süsteem.välja.println ("Kursuse nimi: tehisintellekt");
Süsteem.välja.println ("Krediiditund: 3");
Süsteem.välja.println ("Semester: 10");
murda;
// Käivitage vaikelause, kui kõik tähed tagastavad vale
vaikimisi:
Süsteem.välja.println ("Vale kursuse kood");
// Sulgege skanneri objekt
sisend.Sulge();
Väljund:
Pärast koodi täitmist küsib ta kasutajalt kursuse koodi. Siin, CSE-105 võetakse sisendina, mis vastab esimese juhtumi väärtusele. Niisiis, kursuse teabe üksikasjad prinditakse ja muud juhtumi jaotised jäetakse a kasutamise jaoks välja murda avaldus.
Järgmine, CSE-402 võetakse sisendina, mis vastab viimase juhtumi väärtusele, ja vastavad kursuse üksikasjad prinditakse.
Järgmine, CSE-101 võetakse sisendiks, mis ei ühti ühegi juhtumi väärtusega, ja prinditakse vaikesektsiooni teade.
Järeldus:
Switch-case lause kasutamine on paljudel juhtudel efektiivne selle asemel, et kasutada konkreetsete probleemide lahendamiseks lauset if-else-if. Switch-case lause lause mõiste ja kasutamine on selles õpetuses asjakohaselt selgitatud, et aidata Java-kasutajatel seda nõuetekohaselt oma koodis tõhusalt rakendada.