Δήλωση διακόπτη Java (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθετε να χρησιμοποιείτε τη δήλωση διακόπτη στην Java για να ελέγχετε τη ροή της εκτέλεσης του προγράμματος σας με τη βοήθεια παραδειγμάτων.

Η switchδήλωση μας επιτρέπει να εκτελέσουμε ένα μπλοκ κώδικα μεταξύ πολλών εναλλακτικών λύσεων.

Η σύνταξη της switchδήλωσης στην Java είναι:

 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 )

Πώς λειτουργεί η δήλωση διακόπτη;

Η έκφραση αξιολογείται μία φορά και συγκρίνεται με τις τιμές κάθε ετικέτας .

  • Εάν υπάρχει αντιστοιχία, εκτελείται ο αντίστοιχος κωδικός μετά την ετικέτα της αντίστοιχης θήκης .
    Για παράδειγμα, εάν η τιμή της έκφρασης είναι ίση με την τιμή2, case value2:εκτελείται ο κωδικός μετά .
  • Εάν δεν υπάρχει αντιστοιχία, ο κωδικός μετά default:εκτελείται.

Σημείωση : Μπορούμε να κάνουμε την ίδια λειτουργικότητα χρησιμοποιώντας το Java αν… αλλιώς… αν σκάλα. Ωστόσο, η σύνταξη της δήλωσης διακόπτη είναι πιο καθαρή και πολύ πιο εύκολη στην ανάγνωση και την εγγραφή.

Διάγραμμα ροής της δήλωσης διακόπτη

Διάγραμμα ροής της δήλωσης διακόπτη Java

Παράδειγμα 1: Δήλωση διακόπτη Java

 // 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); ) )

Έξοδος :

 Μέγεθος: Μεγάλο

Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη δήλωση διακόπτη για να βρούμε το μέγεθος. Εδώ, έχουμε έναν μεταβλητό αριθμό. Η μεταβλητή συγκρίνεται με την τιμή κάθε δήλωσης περίπτωσης.

Δεδομένου ότι η τιμή ταιριάζει με την περίπτωση 44 , η μεταβλητή μεγέθους αντιστοιχεί στην τιμή Large.

δήλωση διακοπής στο διακόπτη Java… περίπτωση

Παρατηρήστε ότι χρησιμοποιήσαμε τη breakδήλωση σε κάθε μπλοκ πεζών. Αυτό είναι χρήσιμο για τον τερματισμό της δήλωσης.

Εάν η breakδήλωση δεν χρησιμοποιείται, εκτελούνται όλες οι περιπτώσεις μετά την αντίστοιχη περίπτωση. Για παράδειγμα,

 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"); ) ) )

Παραγωγή

 Περίπτωση 2 Περίπτωση 3 Προεπιλεγμένη περίπτωση

Στο παραπάνω παράδειγμα, δεν έχουμε χρησιμοποιήσει τη breakδήλωση. Εδώ, η έκφραση ταιριάζει με case 2.

Μπορείτε να δείτε ότι μαζί με case 2όλες τις ακόλουθες περιπτώσεις εκτελούνται επίσης.

Αυτό δεν είναι το επιθυμητό αποτέλεσμα. Ως εκ τούτου, είναι απαραίτητο να χρησιμοποιήσετε τη breakδήλωση με κάθε μπλοκ πεζών .

Παράδειγμα 2: Δημιουργία αριθμομηχανής χρησιμοποιώντας τη δήλωση διακόπτη

Το παρακάτω πρόγραμμα λαμβάνει τρεις εισόδους από τον χρήστη: έναν χειριστή και 2 αριθμούς . Με βάση τον τελεστή που παρέχεται από τον χρήστη, εκτελεί τον υπολογισμό των αριθμών. Στη συνέχεια, το αποτέλεσμα εμφανίζεται στην οθόνη.

Πριν ξεκινήσετε το πρόγραμμα, βεβαιωθείτε ότι γνωρίζετε για το Java Scanner για να λάβετε πληροφορίες από τον χρήστη.

 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

 Επιλέξτε έναν τελεστή: +, -, * ή /: + Εισαγάγετε τον πρώτο αριθμό: 23 Εισαγάγετε τον δεύτερο αριθμό: 21 23.0 + 21.0 = 44.0

Έξοδος 2

 Επιλέξτε έναν τελεστή: +, -, * ή /: - Εισαγάγετε τον πρώτο αριθμό: 24 Εισαγάγετε τον δεύτερο αριθμό: 13 24.0-13.0 = 11.0

Έξοδος 3

 Επιλέξτε έναν τελεστή: +, -, * ή /: * Εισαγάγετε τον πρώτο αριθμό: 12 Εισαγάγετε τον δεύτερο αριθμό: 6 12.0 * 6.0 = 72.0

Έξοδος 4

 Επιλέξτε έναν τελεστή: +, -, * ή /: / Εισαγάγετε τον πρώτο αριθμό: 36 Εισαγάγετε τον δεύτερο αριθμό: 6 36.0 / 6.0 = 6.0

Έξοδος 5

Επιλέξτε έναν τελεστή: +, -, * ή /:? Εισαγάγετε τον πρώτο αριθμό: 12 Εισαγάγετε τον δεύτερο αριθμό: 23 Μη έγκυρος τελεστής!

Στο παραπάνω παράδειγμα, χρησιμοποιούμε τη switch… caseδήλωση για την εκτέλεση προσθήκης, αφαίρεσης, πολλαπλασιασμού και διαίρεσης.

Σημείωση : Η δήλωση διακόπτη Java λειτουργεί μόνο με:

  • Τύποι δεδομένων Java Primitive: byte, short, char και int
  • Java Αριθμημένοι τύποι
  • Τάξη συμβολοσειράς Java
  • Τάξεις Wrapper Java: Χαρακτήρας, Byte, Short και Integer.

ενδιαφέροντα άρθρα...