Java-kytkinlausunto (esimerkkien kanssa)

Tässä opetusohjelmassa opit käyttämään Java-kytkimen käskyä ohjaamaan ohjelman suorituksen kulkua esimerkkien avulla.

switchSelvitys antaa meille mahdollisuuden suorittaa koodiosion monien vaihtoehtojen.

switchJava-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älkeen case 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

Vuokaavio Java-kytkinlausekkeesta

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 breaklausetta kussakin tapauslohkossa. Tästä on hyötyä lausunnon lopettamiseksi.

Jos breaklausetta 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 breaklausetta. Tässä lauseke vastaa case 2.

Voit nähdä, että yhdessä case 2kaikki seuraavat tapaukset myös suoritetaan.

Tämä ei ole haluttu lähtö. Siksi on tarpeen käyttää breaklausetta 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… caselausetta 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.

Mielenkiintoisia artikkeleita...