Βασική διαφορά – αν αλλιώς έναντι διακόπτη
Υπάρχουν δομές λήψης αποφάσεων στον προγραμματισμό. Το if else και ο διακόπτης είναι δύο από αυτά. Μια παράσταση αποτελείται από τιμές, τελεστές, σταθερές κ.λπ. Το if else επιτρέπει την εκτέλεση ενός μπλοκ εντολών εάν η δεδομένη έκφραση είναι αληθής ή την εκτέλεση του προαιρετικού μπλοκ εάν η δεδομένη παράσταση είναι ψευδής. Ο διακόπτης χρησιμοποιείται για να επιτρέψει στην τιμή μιας μεταβλητής ή μιας έκφρασης να αλλάξει τη ροή ελέγχου της εκτέλεσης του προγράμματος μέσω ενός κλάδου πολλαπλών δρόμων. Εάν ο προγραμματιστής θέλει να ελέγξει την τιμή μιας μεμονωμένης μεταβλητής, τότε μπορεί να χρησιμοποιήσει την εντολή switch. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ if else και switch. Η βασική διαφορά μεταξύ if else και switch είναι ότι στο if else, το μπλοκ εκτέλεσης βασίζεται στην αξιολόγηση της έκφρασης στη δήλωση if, ενώ στον διακόπτη, οι εντολές που πρέπει να εκτελεστούν εξαρτώνται από τη μεμονωμένη μεταβλητή που της έχει διαβιβαστεί.
Τι είναι αν αλλιώς;
If else περιέχει δύο μπλοκ. Είναι αν και άλλα. Το μπλοκ if περιέχει την έκφραση προς αξιολόγηση. Εάν είναι αληθές, οι δηλώσεις μέσα στο μπλοκ if θα εκτελεστούν. Εάν η συνθήκη είναι ψευδής, τότε οι εντολές ανήκουν στο άλλο μπλοκ θα εκτελεστούν. Οι γλώσσες προγραμματισμού υποθέτουν οποιεσδήποτε μη μηδενικές και μη μηδενικές τιμές ως αληθείς. Το μηδέν και το μηδέν θεωρούνται ψευδείς. Το if και το else είναι λέξεις-κλειδιά. Επομένως, δεν μπορούν να χρησιμοποιηθούν ως αναγνωριστικά.
Εικόνα 01: Πρόγραμμα με if else Δηλώσεις
Σύμφωνα με το παραπάνω πρόγραμμα, ο αριθμός είναι μεταβλητή που μπορεί να αποθηκεύσει ακέραιους αριθμούς. Περιέχει την τιμή 5. Στο μπλοκ if, η έκφραση ελέγχεται. Εάν το υπόλοιπο είναι 0 μετά τη διαίρεση του αριθμού με το μηδέν, που σημαίνει ότι ο αριθμός είναι άρτιος. Αν το υπόλοιπο είναι 1, τότε ο αριθμός είναι περιττός. Ο αριθμός 5 είναι περιττός. Επομένως, το μπλοκ else θα εκτελεστεί.
Τι είναι διακόπτης;
Αν ο προγραμματιστής θέλει να ελέγξει την τιμή μιας μεμονωμένης μεταβλητής, τότε μπορεί να χρησιμοποιήσει το διακόπτη. Είναι μια δήλωση επιλογής πολλαπλών επιλογών. Ο διακόπτης μπορεί να έχει πολλές δηλώσεις περίπτωσης. Όταν η μεταβλητή μεταβιβάζεται στον διακόπτη, συγκρίνεται με την τιμή κάθε πρότασης περίπτωσης. Εάν βρεθεί η αντίστοιχη τιμή, εκτελούνται οι δηλώσεις της συγκεκριμένης περίπτωσης. Αυτές οι εντολές εκτελούνται έως ότου συμβεί ένα διάλειμμα. Εάν οι εντολές case δεν έχουν εντολές διακοπής, τότε η εκτέλεση γίνεται μέχρι το τέλος της εντολής διακόπτη. Η προεπιλεγμένη περίπτωση εκτελείται εάν καμία από τις περιπτώσεις δεν είναι αληθής. Η προεπιλογή δεν απαιτεί δήλωση διακοπής.
Εικόνα 02: Πρόγραμμα με διακόπτη
Σύμφωνα με το παραπάνω πρόγραμμα, το num1 και το num2 περιέχουν δύο ακέραιες τιμές. Ο χειριστής είναι ένας χαρακτήρας. Περνάται στον διακόπτη. Ελέγχεται με όλες τις δηλώσεις υπόθεσης. Ο τελεστής που πέρασε είναι διαίρεση. Επομένως, η διαίρεση υπολογίζεται και εκτυπώνεται. Στη συνέχεια, η εκτέλεση βγαίνει από το διακόπτη λόγω της εντολής break. Όταν επιτευχθεί το διάλειμμα, ο έλεγχος περνά στην επόμενη γραμμή μετά το διακόπτη. Γενικά, η δήλωση switch χρησιμοποιεί συχνά μια εντολή πληκτρολογίου για να επιλέξει μία από τις πολλαπλές δηλώσεις πεζών-κεφαλαίων.
Ποια είναι η ομοιότητα μεταξύ if else και switch;
Τόσο το if else όσο και το switch είναι δομές λήψης αποφάσεων στον προγραμματισμό
Ποια είναι η διαφορά μεταξύ if else και switch;
εάν αλλιώς εναντίον διακόπτη |
|
Το if else είναι μια δομή ελέγχου που εκτελεί ένα μπλοκ εντολών εάν η συνθήκη είναι αληθής και εκτελεί το προαιρετικό μπλοκ εάν η συνθήκη είναι ψευδής. | Η δήλωση διακόπτη είναι ένας τύπος μηχανισμού ελέγχου επιλογής που χρησιμοποιείται για να επιτρέπει στην τιμή μιας μεταβλητής ή έκφρασης να αλλάξει τη ροή ελέγχου της εκτέλεσης προγράμματος μέσω ενός κλάδου πολλαπλών δρόμων. |
Εκτέλεση | |
In if else, είτε το μπλοκ if είτε το μπλοκ else εκτελείται ανάλογα με την αξιολογούμενη έκφραση. | Ο διακόπτης εκτελεί τη μία περίπτωση μετά την άλλη μέχρι να επιτευχθεί η διακοπή ή μέχρι το τέλος του διακόπτη. |
Αξιολόγηση | |
Η πρόταση if αξιολογεί, ακέραιους αριθμούς, χαρακτήρες, αριθμούς κινητής υποδιαστολής ή τύπους Boole. | Η εντολή switch αξιολογεί χαρακτήρες και ακέραιους αριθμούς. |
Προεπιλεγμένη εκτέλεση | |
Εάν η συνθήκη του if block είναι ψευδής, οι δηλώσεις μέσα στο μπλοκ else θα εκτελεστούν. | Στο διακόπτη, εάν καμία από τις προτάσεις case δεν ταιριάζει, οι προεπιλεγμένες προτάσεις θα εκτελεστούν. |
Δοκιμή | |
Το if else ελέγξτε την ισότητα και τις λογικές εκφράσεις. | Ο διακόπτης ελέγχει την ισότητα. |
Σύνοψη – αν αλλιώς έναντι διακόπτη
Δύο δομές λήψης αποφάσεων στον προγραμματισμό είναι if other and switch. Η πρόταση if else είναι μια πρόταση υπό όρους θα εκτελέσει ένα σύνολο εντολών ανάλογα με το αν η συνθήκη είναι αληθής ή ψευδής. Ο διακόπτης μπορεί να χρησιμοποιηθεί ελέγξτε μια μεμονωμένη μεταβλητή. Η διαφορά μεταξύ if else και switch είναι ότι if else το μπλοκ εκτέλεσης βασίζεται στην αξιολόγηση της έκφρασης στη δήλωση if, ενώ η εντολή switch επιλέγει τις προτάσεις που θα εκτελεστούν ανάλογα με τη μεμονωμένη μεταβλητή, μεταβιβάζονται σε αυτήν.