„Java“ jungiklio pareiškimas (su pavyzdžiais)

Šioje pamokoje išmoksite naudoti „Java“ jungiklio teiginį, kad pavyzdžių pagalba galėtumėte valdyti savo programos vykdymą.

switchPareiškimas leidžia mums vykdyti kodo bloką tarp daugelio alternatyvų.

Pareiškimo sintakse switch„Java“ yra:

 switch (expression) ( case value1: // code to be executed if // expression is equal to value1 break; case value2: // code to be executed if // expression is equal to value2 break;… … default: // default statements )

Kaip veikia jungiklio teiginys?

Išraiška įvertinama vieną kartą ir palyginama su kiekvieno atvejo etiketės reikšmėmis .

  • Jei yra atitikimas, vykdomas atitinkamas kodas po atitikimo atvejo etiketės .
    Pvz., Jei išraiškos vertė lygi 2 vertei, kodas case value2:bus vykdomas.
  • Jei nėra atitikties, vykdomas kodas po default:.

Pastaba : Mes galime atlikti tą pačią funkciją naudodami „Java“, jei… dar kitaip… jei kopėčios. Tačiau jungiklio teiginio sintaksė yra švaresnė ir daug lengviau skaitoma ir rašoma.

Jungiklio teiginio schema

„Java“ jungiklio teiginio schema

1 pavyzdys: „Java“ jungiklio sakinys

 // Java Program to check the size // using the switch… case statement class Main ( public static void main(String() args) ( int number = 44; String size; // switch statement to check size switch (number) ( case 29: size = "Small"; break; case 42: size = "Medium"; break; // match the value of week case 44: size = "Large"; break; case 48: size = "Extra Large"; break; default: size = "Unknown"; break; ) System.out.println("Size: " + size); ) )

Išvestis :

 Dydis: didelis

Ankstesniame pavyzdyje mes naudojome jungiklio teiginį, kad rastume dydį. Čia mes turime kintamą skaičių. Kintamasis yra lyginamas su kiekvieno atvejo teiginio verte.

Kadangi vertė sutampa su 44 atveju , dydžio kintamasis priskiriamas vertei Large.

lūžio teiginys „Java“ jungiklio… atveju

Atkreipkite dėmesį, kad breaksakinį panaudojome kiekvienu atveju. Tai naudinga nutraukti pareiškimą.

Jei breaksakinys nenaudojamas, įvykdomi visi atvejai po atitikimo atvejo. Pavyzdžiui,

 class Main ( public static void main(String() args) ( int expression = 2; // switch statement to check size switch (expression) ( case 1: System.out.println("Case 1"); // matching case case 2: System.out.println("Case 2"); case 3: System.out.println("Case 3"); default: System.out.println("Default case"); ) ) )

Rezultatas

 2 atvejis 3 atvejis Numatytasis atvejis

Ankstesniame pavyzdyje mes nenaudojome breakteiginio. Čia posakis sutampa su case 2.

Galite pamatyti, kad kartu su case 2visais šiais atvejais taip pat vykdomi.

Tai nėra pageidaujama išvestis. Taigi, breaksakinį būtina naudoti su kiekvienu atvejo bloku .

2 pavyzdys: skaičiuoklės sudarymas naudojant jungiklio teiginį

Žemiau pateikta programa reikalauja trijų vartotojo įvedimų: vieno operatoriaus ir 2 numerių . Remdamasis vartotojo pateiktu operatoriumi, jis atlieka skaičių skaičiavimą. Tada rezultatas rodomas ekrane.

Prieš pradėdami naudotis programa, įsitikinkite, kad žinote apie „Java Scanner“, kad gautumėte vartotojo įvestį.

 import java.util.Scanner; class Main ( public static void main(String() args) ( char operator; Double number1, number2, result; // create an object of Scanner class Scanner input = new Scanner(System.in); // ask users to enter operator System.out.print("Choose an operator: +, -, *, or /: "); operator = input.next().charAt(0); // ask users to enter numbers System.out.print("Enter first number: "); number1 = input.nextDouble(); System.out.println("Enter second number: "); number2 = input.nextDouble(); switch (operator) ( // performs addition between numbers case '+': result = number1 + number2; System.out.print(number1 + "+" + number2 + " = " + result); break; // performs subtraction between numbers case '-': result = number1 - number2; System.out.print(number1 + "-" + number2 + " = " + result); break; // performs multiplication between numbers case '*': result = number1 * number2; System.out.print(number1 + "*" + number2 + " = " + result); break; // performs division between numbers case '/': result = number1 / number2; System.out.print(number1 + "/" + number2 + " = " + result); break; default: System.out.println("Invalid operator!"); break; ) input.close(); ) )

1 rezultatas

 Pasirinkite operatorių: +, -, * arba /: + Įveskite pirmąjį numerį: 23 Įveskite antrąjį numerį: 21 23,0 + 21,0 = 44,0

2 išėjimas

 Pasirinkite operatorių: +, -, * arba /: - Įveskite pirmąjį numerį: 24 Įveskite antrąjį numerį: 13 24,0-13,0 = 11,0

3 išėjimas

 Pasirinkite operatorių: +, -, * arba /: * Įveskite pirmąjį numerį: 12 Įveskite antrąjį numerį: 6 12,0 * 6,0 = 72,0

4 išėjimas

 Pasirinkite operatorių: +, -, * arba /: / Įveskite pirmąjį numerį: 36 Įveskite antrąjį numerį: 6 36.0 / 6.0 = 6.0

5 išėjimas

Pasirinkite operatorių: +, -, * arba /:? Įveskite pirmąjį numerį: 12 Įveskite antrąjį numerį: 23 Netinkamas operatorius!

Ankstesniame pavyzdyje switch… casesakinį naudojame sudėčiai, atimčiai, daugybai ir dalijimui atlikti.

Pastaba : „Java“ jungiklio sakinys veikia tik su:

  • „Java Primitive“ duomenų tipai: baitas, trumpasis, char ir int
  • „Java“ išvardyti tipai
  • „Java“ styginių klasė
  • „Java Wrapper“ klasės: simbolių, baitų, trumpų ir sveikųjų skaičių.

Įdomios straipsniai...