Όλοι χρησιμοποιούμε διακόπτες τακτικά στη ζωή μας. Ναι, μιλάω για ηλεκτρικούς διακόπτες που χρησιμοποιούμε για τα φώτα και τους ανεμιστήρες μας.
Όπως βλέπετε από την παρακάτω εικόνα, κάθε διακόπτης έχει αντιστοιχιστεί να λειτουργεί για συγκεκριμένο ηλεκτρικό εξοπλισμό.
Για παράδειγμα, στην εικόνα, ο πρώτος διακόπτης είναι για έναν ανεμιστήρα, μετά για φως και ούτω καθεξής.
Έτσι, μπορούμε να δούμε ότι κάθε διακόπτης μπορεί να ενεργοποιήσει / απενεργοποιήσει μόνο 1 στοιχείο.
Τι είναι το Switch Case στην Java;
Ομοίως, η εναλλαγή σε Java είναι ένας τύπος δήλωσης υπό όρους που ενεργοποιεί μόνο την αντίστοιχη συνθήκη από τη δεδομένη είσοδο.
Ας εξετάσουμε το παράδειγμα ενός προγράμματος όπου ο χρήστης δίνει είσοδο ως αριθμητική τιμή (μόνο 1 ψηφίο σε αυτό το παράδειγμα) και η έξοδος πρέπει να είναι ο αριθμός των λέξεων.
Η ακέραια μεταβλητή iSwitch, είναι η είσοδος για τη μετάβαση στην εργασία.
Στη συνέχεια, οι διάφορες διαθέσιμες επιλογές (περιπτώσεις ανάγνωσης) γράφονται ως περίπτωση <τιμή> μαζί με άνω και κάτω τελεία ":
Αυτό θα έχει στη συνέχεια τη δήλωση που θα εκτελεστεί εάν η περίπτωση και η είσοδος στον διακόπτη ταιριάζουν.
Παράδειγμα εναλλαγής Java
class SwitchBoard{public static void main(String args[]){int iSwitch=4;switch(iSwitch){case 0:System.out.println("ZERO");break;case 1:System.out.println("ONE");break;case 2:System.out.println("TWO");break;case 3:System.out.println("THREE");break;case 4:System.out.println("FOUR");break;default:System.out.println("Not in the list");break;}}}
Παραγωγή:
FOUR
Τώρα τι κάνουν αυτές οι 2 λέξεις που σπάζουν και οι προεπιλεγμένες εκεί έξω;
- Το πρώτο «διάλειμμα» - απλώς θα ξεσπάσει από το μπλοκ διακόπτη μόλις ικανοποιηθεί μια συνθήκη.
- "Προεπιλογή" - Αυτό θα εκτελεστεί σε περίπτωση που καμία από τις συνθήκες δεν ταιριάζει με τη δεδομένη είσοδο.
Στο δεδομένο παράδειγμα αυτές είναι απλές δηλώσεις εκτύπωσης, ωστόσο, μπορούν επίσης να αναφέρονται σε πιο περίπλοκες καταστάσεις όπως κλήση μιας μεθόδου κ.λπ.
Τι γίνεται αν δεν κάνετε διάλειμμα;
Σε περίπτωση που δεν παρέχεται η διακοπή, θα εκτελέσει τις συνθήκες αντιστοίχισης καθώς και την προεπιλεγμένη κατάσταση. Η λογική σας θα πάει καλά, αν συμβεί αυτό
Θα το αφήσω στους χρήστες να πειραματιστούν χωρίς να κάνουν διάλειμμα.
Δήλωση διακόπτη Java:
- Ως τυπική λογική προγραμματισμού, μπορεί απλά να επιτευχθεί χρησιμοποιώντας εάν… άλλες συνθήκες, αλλά τότε δεν θα βελτιστοποιηθεί για καλή πρακτική προγραμματισμού ούτε φαίνεται ο κώδικας να είναι αναγνώσιμος.
- Σε προγράμματα που περιλαμβάνουν πιο περίπλοκες περιπτώσεις, τα σενάρια δεν θα είναι τόσο απλά και θα απαιτούσαν την κλήση πολλών μεθόδων. Το Switch λύνει αυτό το πρόβλημα και αποφεύγει πολλές ένθετες αν… αλλιώς δηλώσεις. Επίσης, ενώ χρησιμοποιείτε εάν…. Αλλιώς, συνιστάται να χρησιμοποιείτε τα πιο πολύ αναμένεται η κατάσταση να είναι στην κορυφή και στη συνέχεια να προχωρήσει με ένθετο τρόπο.
- Ορισμένες δοκιμές συγκριτικής αξιολόγησης έχουν αποδείξει ότι σε περίπτωση java υψηλού αριθμού επαναλήψεων, ο διακόπτης είναι ταχύτερος σε σύγκριση με εάν….
Σημεία προς σημείωση
- Δεν υπάρχει όριο στον αριθμό της υπόθεσης java που μπορείτε να έχετε.
- Ο διακόπτης java μπορεί να λάβει είσοδο μόνο ως ακέραιοι ή χαρακτήρες.
- Η τελευταία έκδοση του Java8 παρουσιάζει επίσης την πολυαναμενόμενη υποστήριξη για τη δήλωση συμβολοσειρών διακόπτη java.
Τώρα λοιπόν, προχωρήστε και συνδέστε τον δικό σας πίνακα διανομής !!