Pārslēgšanas paziņojuma izmantošana vairākām izvēlēm Java

Ja jūsu Java programmai ir jāizdara izvēle starp divām vai trim darbībām, an ja, tad vēl paziņojums, apgalvojums pietiks. Tomēr ja, tad vēl paziņojums sāk justies apgrūtinošs, ja ir vairākas izvēles, kas programmai varētu būt jāveic. To ir tikai tik daudz cits... ja paziņojumi, kurus vēlaties pievienot, pirms kods sāk izskatīties nekārtīgs. Ja jāpieņem lēmums par vairākām iespējām, izmantojiet pārslēgšanas paziņojumu.

Pārslēgšanās paziņojums

Pārslēgšanās paziņojums programmai dod iespēju salīdzināt vērtības vērtību izteiksme uz alternatīvo vērtību sarakstu. Piemēram, iedomājieties, ka jums ir nolaižamā izvēlne, kurā bija skaitļi no 1 līdz 4. Atkarībā no tā, kurš numurs tiek izvēlēts, jūs vēlaties, lai jūsu programma rīkotos citādi:

// pieņemsim, ka lietotājs izvēlas numuru 4
int menuChoice = 4;
slēdzis (menuChoice)
{
1. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 1");
pārtraukums;
2. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 2.");
pārtraukums;
instagram viewer

3. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 3.");
pārtraukums;
// Šī opcija tiek izvēlēta, jo 4. vērtība sakrīt ar vērtību
// menuChoise mainīgais
4. gadījums: JOptionPane.showMessageDialog (nulle, “Jūs izvēlējāties numuru 4.”); pārtraukums;
noklusējums:
JOptionPane.showMessageDialog (null, "Kaut kas nogāja greizi!");
pārtraukums;
}

Apskatot pārslēgšanas paziņojuma sintakse, jums vajadzētu pamanīt dažas lietas:

1. Mainīgais, kas satur vērtību, ar kuru jāsalīdzina, tiek ievietots augšpusē, iekavās.

2. Katra alternatīva iespēja sākas ar lielo burtu. Vērtība, kas jāsalīdzina ar augšējo mainīgs nāk nākamais, kam seko kols. Piemēram, 1. gadījums: ir gadījuma etiķete, kurai seko vērtība 1 - tikpat viegli tas varētu būt 123. gadījums: vai gadījums -9:. Jums var būt tik daudz alternatīvu iespēju, cik jums nepieciešams.

3. Ja aplūkojat iepriekšminēto sintakse, tiek izcelta ceturtā alternatīvā opcija - lietas etiķete, tās izpildītais kods (t.i., JOptionPane) un pārtraukuma paziņojums. Pārtraukuma paziņojums norāda tā koda beigas, kas jāizpilda. Ja paskatīsities, redzēsit, ka katra alternatīvā opcija beidzas ar pārtraukuma paziņojumu. Ir ļoti svarīgi atcerēties ievietot pārtraukuma paziņojumu. Apsveriet šo kodu:

 // pieņemsim, ka lietotājs izvēlas numuru 1
int menuChoice = 1;
slēdzis (menuChoice)
1. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 1");
2. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 2.");
pārtraukums;
3. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 3.");
pārtraukums;
4. gadījums:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties numuru 4");
pārtraukums;
noklusējums:
JOptionPane.showMessageDialog (null, "Kaut kas nogāja greizi!");
pārtraukums;
}

Tas, ko jūs domājat notikt, ir redzēt dialoglodziņš sakot “Jūs izvēlējāties numuru 1”, bet, tā kā nav pirmā gadījuma etiķetei atbilstoša pārtraukuma paziņojuma, tiek izpildīts arī kods otrā gadījuma etiķetē. Tas nozīmē, ka parādīsies arī nākamais dialoglodziņš ar tekstu "Jūs izvēlējāties numuru 2".

4. Pārslēgšanas paziņojuma apakšā ir noklusējuma etiķete. Tas ir kā drošības tīkls, ja neviena no lietu etiķešu vērtībām neatbilst vērtībai, kuru salīdzina ar to. Ir ļoti noderīgi nodrošināt koda izpildes veidu, kad netiek izvēlēta neviena no vēlamajām iespējām.

Ja jūs vienmēr gaidāt, ka tiek izvēlēta kāda no citām opcijām, noklusējuma etiķeti varat atstāt ārpus tās, bet katra izveidotā slēdža paziņojuma beigās ir viens ieraksts - labs ieradums. Varētu šķist maz ticams, ka tas kādreiz tiks izmantots, taču kļūdas var iekļūt kodā un tas var palīdzēt noķert kļūdu.

Kopš JDK 7

Viena no Java sintakse izmaiņām līdz ar JDK 7 izlaišanu ir lietošanas spēja Stīgas komutācijas paziņojumos. Ļoti noderīga ir spēja salīdzināt virknes vērtības pārslēgšanas paziņojumā:

Stīgas nosaukums = "Bobs";
slēdzis (name.toLowerCase ())
{
gadījums "Joe":
JOptionPane.showMessageDialog (nulle, “Labrīt, Džo!”);
pārtraukums;
gadījums "michael":
JOptionPane.showMessageDialog (nulle, “Kā iet, Maikls?”);
pārtraukums;
gadījums "bob":
JOptionPane.showMessageDialog (nulle, “Bobs, mans vecais draugs!”);
pārtraukums;
gadījums "billy":
JOptionPane.showMessageDialog (nulle, “Pēcpusdienas Bilijs, kā klājas bērniem?”);
pārtraukums;
noklusējums:
JOptionPane.showMessageDialog (nulle, “Prieks ar jums iepazīties, Džonijs Dojs.”);
pārtraukums;
}

Salīdzinot divas virknes vērtības, tas var būt daudz vienkāršāk, ja pārliecināsities, ka tās visas ir vienā un tajā pašā gadījumā. Izmantojot .toLowerCase metodi, visas lietas marķējuma vērtības var būt iekšā mazie burti.

Lietas, kas jāatceras par paziņojumu par pārslēgšanu

• Salīdzināmā mainīgā tipam jābūt char, baitam, īsajam, int, Character, Byte, Short, vestajam skaitlim, virknei vai enum veidam.

• Vērtība blakus lietas etiķetei nedrīkst būt mainīga. Tam jābūt pastāvīgam izteicienam (piemēram, int burtam, char burtam).

• Pastāvīgo izteiksmju vērtībām visās lietu etiķetēs jābūt atšķirīgām. Šāds rezultāts radītu kompilācijas laika kļūdu:

slēdzis (menuChoice)
{
gadījums 323:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties 1. variantu");
pārtraukums;
gadījums 323:
JOptionPane.showMessageDialog (nulle, "Jūs izvēlējāties 2. variantu");
pārtraukums;

• Pārslēgšanās paziņojumā var būt tikai viena noklusējuma etiķete.

• Ja pārslēgšanas paziņojumam izmantojat objektu (piemēram, virkne, vesels skaitlis, rakstzīme), pārliecinieties, vai tas nav nulle. Null objekts radīs izpildlaika kļūdu, kad tiks izpildīts pārslēgšanas paziņojums.

instagram story viewer