Tässä opetusohjelmassa opit käyttämään Java-kytkimen käskyä ohjaamaan ohjelman suorituksen kulkua esimerkkien avulla.
switch
Selvitys antaa meille mahdollisuuden suorittaa koodiosion monien vaihtoehtojen.
switch
Java-lauseen syntaksi on:
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 )
Kuinka kytkinlausunto toimii?
Lauseke arvioidaan kerran ja verrataan kunkin tapausleiman arvoihin .
- Jos vastaavuus on, vastaava koodi suoritetaan vastaavan tapaustunnisteen jälkeen .
Esimerkiksi, jos lausekkeen arvo on yhtä suuri kuin arvo2, koodi sen jälkeencase value2:
suoritetaan. - Jos vastaavuutta ei löydy, koodi sen jälkeen
default:
suoritetaan.
Huomaa : Voimme tehdä saman toiminnon Java-sovelluksella, jos… muuten … jos tikkaat. Switch-lauseen syntakse on kuitenkin puhtaampi ja paljon helpompi lukea ja kirjoittaa.
Kytkimen lausunnon vuokaavio

Esimerkki 1: Java-kytkinlauseke
// 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); ) )
Tuotos :
Koko: Suuri
Yllä olevassa esimerkissä olemme käyttäneet switch-käskyä koon löytämiseksi. Tässä meillä on vaihteleva numero. Muuttujaa verrataan kunkin tapauslausekkeen arvoon.
Koska arvo vastaa tapausta 44 , koon muuttuja määritetään arvon kanssa Large
.
rikkomuslauseke Java-kytkimen tapauksessa
Huomaa, että olemme käyttäneet break
lausetta kussakin tapauslohkossa. Tästä on hyötyä lausunnon lopettamiseksi.
Jos break
lausetta ei käytetä, kaikki vastaavan tapauksen jälkeiset tapaukset suoritetaan. Esimerkiksi,
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"); ) ) )
Tuotos
Tapaus 2 Tapaus 3 Oletustapaus
Yllä olevassa esimerkissä emme ole käyttäneet break
lausetta. Tässä lauseke vastaa case 2
.
Voit nähdä, että yhdessä case 2
kaikki seuraavat tapaukset myös suoritetaan.
Tämä ei ole haluttu lähtö. Siksi on tarpeen käyttää break
lausetta jokaisessa tapauslohkossa .
Esimerkki 2: Laskimen tekeminen kytkinlausekkeen avulla
Alla oleva ohjelma ottaa käyttäjältä kolme tuloa: yksi operaattori ja 2 numeroa . Käyttäjän antaman operaattorin perusteella se suorittaa laskennan numeroille. Sitten tulos näkyy näytöllä.
Ennen kuin käydään läpi ohjelmaa, varmista, että tiedät Java Scannerista, jotta saat syötteen käyttäjältä.
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(); ) )
Lähtö 1
Valitse operaattori: +, -, * tai /: + Syötä ensimmäinen numero: 23 Syötä toinen numero: 21 23.0 + 21.0 = 44.0
Lähtö 2
Valitse operaattori: +, -, * tai /: - Syötä ensimmäinen numero: 24 Syötä toinen numero: 13 24.0-13.0 = 11.0
Lähtö 3
Valitse operaattori: +, -, * tai /: * Syötä ensimmäinen numero: 12 Syötä toinen numero: 6 12,0 * 6,0 = 72,0
Lähtö 4
Valitse operaattori: +, -, * tai /: / Syötä ensimmäinen numero: 36 Syötä toinen numero: 6 36.0 / 6.0 = 6.0
Lähtö 5
Valitse operaattori: +, -, * tai /:? Syötä ensimmäinen numero: 12 Syötä toinen numero: 23 Virheellinen käyttäjä!
Yllä olevassa esimerkissä käytämme switch… case
lausetta yhteenlaskemisen, vähentämisen, kertomisen ja jakamisen suorittamiseen.
Huomautus : Java-kytkinlause toimii vain seuraavien kanssa:
- Java Primitive -tietotyypit: tavu, lyhyt, char ja int
- Java luetellut tyypit
- Java-merkkijonoluokka
- Java Wrapper -luokat: merkki, tavu, lyhyt ja kokonaisluku.