Sintaksė:
jungiklis (kintamasis arba išraiška)1 atvejo vertė:
1 pareiškimas… N
pertrauka;
2 atvejo vertė:
1 pareiškimas… N
pertrauka;
.
.
.
atvejo reikšmė-n:
1 pareiškimas… N
pertrauka;
numatytas :
1 pareiškimas… N
Čia galite naudoti bet kurį kintamąjį ar išraišką perjungti dalis, kuri bus suderinta su atveju vertė. "pertrauka„pareiškimas ir“numatytasdalis yra neprivaloma skirstomąją dėžę pareiškimas. Bet jeipertrauka' teiginys yra praleistas bet kuriam ar visiems atveju sakinius, tada kita atvejo reikšmė arba visos atvejo vertės bus patikrintos naudojant apibrėžtą reikšmę jungiklis dalis. Jei nė vienas iš atveju vertė atitinka perjungti vertė, tada numatytas dalis bus įvykdyta. Kaip skirstomąją dėžę pareiškimo darbai su ir be papildomų dalių yra parodyti žemiau, naudojant skirtingus pavyzdžius.
1 pavyzdys: „Switch-case“ pareiškimo naudojimas be pertraukos ir numatytojo
Šis pavyzdys rodo, kaip veikia „case-case“ pareiškimas, kai ne pertrauka ir numatytas naudojami teiginiai. Stygos duomenys bus laikomi įvestimi ir saugomi kintamajame, ID, ir vertė ID bus tikrinama pagal kiekvieno atvejo vertę. Tai ne tik atspausdins pranešimą, kai bylos reikšmė sutampa su ID verte, bet ir atspausdins visus likusio atvejo skyriaus pranešimus, pertrauka sakinys yra naudojamas. Jei nė viena atvejo vertė nesutampa su ID reikšmę, tada nė vienas pranešimas nebus atspausdintas, nes ne numatytas skyriuje naudojamas kodas.
// Importuoti skaitytuvo paketąimportuoti java.util.Skaitytuvas;
viešosios klasės jungiklis1
public static void main (String [] argumentuoja)
// Sukurkite skaitytuvo objektą
Skaitytuvo įvestis = naujas skaitytuvas (sistema.in);
Sistema.išėjo.spausdinti ("Įveskite savo ID:");
// Paimkite eilutės duomenis iš vartotojo
Eilutės ID = įvestis.Kitas();
// Perjungti išraišką
jungiklis (ID)
// Byla-1
dėklas "0111786":
Sistema.išėjo.println ("Jūsų partija yra 24");
// Byla-2
dėklas „0111234“:
Sistema.išėjo.println („Jūsų partija yra 20“);
// Byla-3
dėklas "0111923":
Sistema.išėjo.println ("Jūsų partija yra 37");
// Uždarykite skaitytuvo objektą
įvestis.Uždaryti();
Išvestis:
Ši išvestis bus rodoma, jei įvesties vertė sutampa su pirmojo atvejo verte atlikus scenarijų. Paskutiniai du pranešimai yra atspausdinti čia, jei nenorite pertrauka pareiškimas.
Kai įvesties reikšmė sutampa su antrojo atvejo verte, pasirodys toks išvestis.
Kai įvesties reikšmė nesutampa su jokios reikšmės reikšme, praleidžiant nebus rodoma išvestis numatytas skyrius.
2 pavyzdys: „Switch-case“ pareiškimo naudojimas su numatytuoju skyriumi
Numatytasis skyrius yra būtinas, kad skirstomųjų programų blokas spausdintų pranešimą vartotojui, kad nerandama atitikties. Šiame pavyzdyje parodytas numatytosios skilties naudojimas jungiklių bloke. Čia numerio vertė bus tikrinama su kiekvieno atvejo reikšme „switch-case“ sakinyje, o atitiktis nerandama, tada numatytas skyrius bus atspausdintas.
viešosios klasės jungiklis2public static void main (String [] argumentuoja)
int skaičius = 380;
jungiklis (skaičius)
// Byla-1
440 atvejis:
Sistema.išėjo.println ("Jūs esate pasirinktas A grupei");
// Byla-2
500 atvejis:
Sistema.išėjo.println ("Jūs esate pasirinktas B grupei");
// Byla-3
890 atvejis:
Sistema.išėjo.println ("Jūs esate pasirinktas C grupei");
// Vykdykite numatytąjį teiginį, jei visos bylos grąžina klaidingą reikšmę
numatytas:
Sistema.išėjo.println ("Atsiprašau, jūs nepasirinkote");
Išvestis:
Ši išvestis pasirodys atlikus kodą. Pagal kodą, vertė priskirta numeris kintamasis neatitinka jokios bylos vertės. Taigi, pranešimas numatytas skyrius atspausdintas čia.
3 pavyzdys: „Switch-case“ pareiškimo naudojimas su numatytuoju ir break
Šis pavyzdys parodo, kaip naudojamas „case-case“ sakinys su numatytuoju skirsniu ir pertraukomis. Čia kurso kodas bus laikomas vartotojo įvestu, ir jis bus tikrinamas atsižvelgiant į kiekvieno atvejo vertę. Jei yra koks nors atitikimas, tada bus įvykdyti atitikimo atvejo skyriaus sakiniai ir programa bus nutraukta iš jungiklio bloko, jei norite naudoti pertrauka pareiškimas. Jei nėra atitikties, bus vykdomi numatytojo skyriaus teiginiai.
// Importuoti skaitytuvo paketąimportuoti java.util.Skaitytuvas;
viešosios klasės jungiklis3
public static void main (String [] argumentuoja)
// Sukurkite skaitytuvo objektą
Skaitytuvo įvestis = naujas skaitytuvas (sistema.in);
Sistema.išėjo.spausdinti ("Įveskite kurso kodą:");
// Paimkite eilutės duomenis iš vartotojo
Stygos kodas = įvestis.Kitas();
jungiklis (kodas)
// Byla-1
atvejis „CSE-105“:
Sistema.išėjo.println („Kurso pavadinimas: Java programavimas“);
Sistema.išėjo.println ("Kreditinė valanda: 2");
Sistema.išėjo.println ("Semestras: 2");
pertrauka;
// Byla-2
byla „CSE-207“:
Sistema.išėjo.println („Kurso pavadinimas: duomenų struktūra“);
Sistema.išėjo.println ("Kreditinė valanda: 2");
Sistema.išėjo.println ("Semestras: 4");
pertrauka;
// Byla-3
atvejis „CSE-402“:
Sistema.išėjo.println („Kurso pavadinimas: dirbtinis intelektas“);
Sistema.išėjo.println ("Kreditinė valanda: 3");
Sistema.išėjo.println („Semestras: 10“);
pertrauka;
// Vykdykite numatytąjį teiginį, jei visos bylos grąžina klaidingą reikšmę
numatytas:
Sistema.išėjo.println ("Neteisingas kurso kodas");
// Uždarykite skaitytuvo objektą
įvestis.Uždaryti();
Išvestis:
Vykdžius kodą, jis paprašys vartotojo iš kurso kodo. Čia, TPP-105 imamas kaip įvestis, atitinkanti pirmojo atvejo vertę. Taigi išsami informacija apie kursą išspausdinama, o kitų atvejų skyriai praleidžiami naudojant a pertrauka pareiškimas.
Kitas, TPP-402 laikomas įvestimi, atitinkančia paskutinio atvejo vertę, ir išspausdinama atitinkama kurso informacija.
Kitas, TPP-101 laikomas įvestimi, neatitinkančia jokios raidės vertės, ir atspausdinamas numatytojo skyriaus pranešimas.
Išvada:
Naudoti „switch-case“ pareiškimą daugeliu atvejų yra efektyvu, užuot naudojant „if-else-if“ teiginį konkrečioms problemoms spręsti. Šioje pamokoje tinkamai paaiškinta „Switch-case“ pareiškimo sąvoka ir naudojimas, kad „Java“ vartotojai galėtų efektyviau pritaikyti savo kodą, remdamiesi reikalavimu.