Šioje pamokoje išmoksite naudoti „Java“ jungiklio teiginį, kad pavyzdžių pagalba galėtumėte valdyti savo programos vykdymą.
switch
Pareiš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, kodascase 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

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 break
sakinį panaudojome kiekvienu atveju. Tai naudinga nutraukti pareiškimą.
Jei break
sakinys 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 break
teiginio. Čia posakis sutampa su case 2
.
Galite pamatyti, kad kartu su case 2
visais šiais atvejais taip pat vykdomi.
Tai nėra pageidaujama išvestis. Taigi, break
sakinį 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… case
sakinį 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ų.