Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

Αντί να χρησιμοποιείτε αρκετές δομές if…else, μπορείτε να χρησιμοποιήσετε τη δομή switch.

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

Έτσι, αν έχετε μια μεταβλητή ή μια έκφραση που θέλετε να ελέγξετε για διάφορες πιθανές τιμές και να εκτελέσετε αντίστοιχο κώδικα για κάθε περίπτωση, η δομή switch μπορεί να είναι μια πρακτική και καθαρή λύση.

Σύνταξη:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
switch(expression) {
case x:
// μπλοκ κώδικα
break;
case y:
// μπλοκ κώδικα
break;
default:
// μπλοκ κώδικα
}
switch(expression) { case x: // μπλοκ κώδικα break; case y: // μπλοκ κώδικα break; default: // μπλοκ κώδικα }
switch(expression) {
  case x:
    // μπλοκ κώδικα
    break;
  case y:
    // μπλοκ κώδικα
    break;
  default:
    // μπλοκ κώδικα
}

Η expression είναι μια μεταβλητή που θα ελεγχθεί στην εντολή switch και οι case είναι οι διαφορετικές τιμές που μπορεί να έχει αυτή η μεταβλητή. Αν η τιμή της μεταβλητής expression ταιριάζει με μία από τις τιμές των case, τότε θα εκτελεστεί το αντίστοιχο μπλοκ κώδικα. Η εντολή break χρησιμοποιείται για να σταματήσει η εκτέλεση της switch.

Η εντολή default εκτελείται όταν καμία από τις τιμές των case δεν ταιριάζει με την τιμή της μεταβλητής expression.

Παρακάτω είναι ένα παράδειγμα χρήσης της εντολής switch:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int day = 3; // Ορισμός μεταβλητής day με τιμή 3
String dayName; // Δημιουργία μεταβλητής dayName τύπου String
switch (day) { // Έναρξη switch statement με βάση την τιμή της μεταβλητής day
case 1: // Αν η τιμή της μεταβλητής day είναι 1
dayName = "Monday"; // Ορισμός της μεταβλητής dayName ως "Monday"
break; // Έξοδος από το switch statement
case 2: // Αν η τιμή της μεταβλητής day είναι 2
dayName = "Tuesday"; // Ορισμός της μεταβλητής dayName ως "Tuesday"
break; // Έξοδος από το switch statement
case 3: // Αν η τιμή της μεταβλητής day είναι 3
dayName = "Wednesday"; // Ορισμός της μεταβλητής dayName ως "Wednesday"
break; // Έξοδος από το switch statement
case 4: // Αν η τιμή της μεταβλητής day είναι 4
dayName = "Thursday"; // Ορισμός της μεταβλητής dayName ως "Thursday"
break; // Έξοδος από το switch statement
case 5: // Αν η τιμή της μεταβλητής day είναι 5
dayName = "Friday"; // Ορισμός της μεταβλητής dayName ως "Friday"
break; // Έξοδος από το switch statement
case 6: // Αν η τιμή της μεταβλητής day είναι 6
dayName = "Saturday"; // Ορισμός της μεταβλητής dayName ως "Saturday"
break; // Έξοδος από το switch statement
case 7: // Αν η τιμή της μεταβλητής day είναι 7
dayName = "Sunday"; // Ορισμός της μεταβλητής dayName ως "Sunday"
break; // Έξοδος από το switch statement
default: // Αν η τιμή της μεταβλητής day δεν ταιριάζει με καμία από τις προηγούμενες περιπτώσεις
dayName = "Invalid day"; // Ορισμός της μεταβλητής dayName ως "Invalid day"
break; // Έξοδος από το switch statement
}
System.out.println(dayName); // Εκτύπωση της τιμής της μεταβλητής dayName στην οθόνη
int day = 3; // Ορισμός μεταβλητής day με τιμή 3 String dayName; // Δημιουργία μεταβλητής dayName τύπου String switch (day) { // Έναρξη switch statement με βάση την τιμή της μεταβλητής day case 1: // Αν η τιμή της μεταβλητής day είναι 1 dayName = "Monday"; // Ορισμός της μεταβλητής dayName ως "Monday" break; // Έξοδος από το switch statement case 2: // Αν η τιμή της μεταβλητής day είναι 2 dayName = "Tuesday"; // Ορισμός της μεταβλητής dayName ως "Tuesday" break; // Έξοδος από το switch statement case 3: // Αν η τιμή της μεταβλητής day είναι 3 dayName = "Wednesday"; // Ορισμός της μεταβλητής dayName ως "Wednesday" break; // Έξοδος από το switch statement case 4: // Αν η τιμή της μεταβλητής day είναι 4 dayName = "Thursday"; // Ορισμός της μεταβλητής dayName ως "Thursday" break; // Έξοδος από το switch statement case 5: // Αν η τιμή της μεταβλητής day είναι 5 dayName = "Friday"; // Ορισμός της μεταβλητής dayName ως "Friday" break; // Έξοδος από το switch statement case 6: // Αν η τιμή της μεταβλητής day είναι 6 dayName = "Saturday"; // Ορισμός της μεταβλητής dayName ως "Saturday" break; // Έξοδος από το switch statement case 7: // Αν η τιμή της μεταβλητής day είναι 7 dayName = "Sunday"; // Ορισμός της μεταβλητής dayName ως "Sunday" break; // Έξοδος από το switch statement default: // Αν η τιμή της μεταβλητής day δεν ταιριάζει με καμία από τις προηγούμενες περιπτώσεις dayName = "Invalid day"; // Ορισμός της μεταβλητής dayName ως "Invalid day" break; // Έξοδος από το switch statement } System.out.println(dayName); // Εκτύπωση της τιμής της μεταβλητής dayName στην οθόνη
int day = 3; // Ορισμός μεταβλητής day με τιμή 3
String dayName; // Δημιουργία μεταβλητής dayName τύπου String

switch (day) { // Έναρξη switch statement με βάση την τιμή της μεταβλητής day
    case 1: // Αν η τιμή της μεταβλητής day είναι 1
        dayName = "Monday"; // Ορισμός της μεταβλητής dayName ως "Monday"
        break; // Έξοδος από το switch statement
    case 2: // Αν η τιμή της μεταβλητής day είναι 2
        dayName = "Tuesday"; // Ορισμός της μεταβλητής dayName ως "Tuesday"
        break; // Έξοδος από το switch statement
    case 3: // Αν η τιμή της μεταβλητής day είναι 3
        dayName = "Wednesday"; // Ορισμός της μεταβλητής dayName ως "Wednesday"
        break; // Έξοδος από το switch statement
    case 4: // Αν η τιμή της μεταβλητής day είναι 4
        dayName = "Thursday"; // Ορισμός της μεταβλητής dayName ως "Thursday"
        break; // Έξοδος από το switch statement
    case 5: // Αν η τιμή της μεταβλητής day είναι 5
        dayName = "Friday"; // Ορισμός της μεταβλητής dayName ως "Friday"
        break; // Έξοδος από το switch statement
    case 6: // Αν η τιμή της μεταβλητής day είναι 6
        dayName = "Saturday"; // Ορισμός της μεταβλητής dayName ως "Saturday"
        break; // Έξοδος από το switch statement
    case 7: // Αν η τιμή της μεταβλητής day είναι 7
        dayName = "Sunday"; // Ορισμός της μεταβλητής dayName ως "Sunday"
        break; // Έξοδος από το switch statement
    default: // Αν η τιμή της μεταβλητής day δεν ταιριάζει με καμία από τις προηγούμενες περιπτώσεις
        dayName = "Invalid day"; // Ορισμός της μεταβλητής dayName ως "Invalid day"
        break; // Έξοδος από το switch statement
}

System.out.println(dayName); // Εκτύπωση της τιμής της μεταβλητής dayName στην οθόνη

Ο παραπάνω κώδικας εκτελεί μια συγκεκριμένη λογική βασιζόμενος στην τιμή της μεταβλητής day. Ακολουθούν τα βήματα που περιγράφονται από τον κώδικα:

  1. Ορίζεται μια μεταβλητή day με τιμή 3.
  2. Δημιουργείται μια μεταβλητή dayName χωρίς αρχική τιμή.
  3. Ξεκινά η δομή επιλογής switch βασισμένη στην τιμή της μεταβλητής day.
  4. Ελέγχεται η τιμή της μεταβλητής day και εκτελείται ο κώδικας που αντιστοιχεί στη συγκεκριμένη τιμή.
  5. Στην περίπτωση που η τιμή της μεταβλητής day είναι 3, η μεταβλητή dayName ορίζεται ως “Wednesday” (Τετάρτη).
  6. Η εκτέλεση του κώδικα συνεχίζεται από το σημείο όπου βρίσκεται ο καθένας από τους break statements στον κώδικα.
  7. Η τιμή της μεταβλητής dayName εκτυπώνεται στην οθόνη χρησιμοποιώντας τη μέθοδο System.out.println().
  8. Στην περίπτωση αυτή, θα εμφανιστεί στην οθόνη η λέξη “Wednesday”.

Συνολικά, ο κώδικας αυτός αναθέτει στη μεταβλητή dayName την ονομασία μιας ημέρας της εβδομάδας με βάση την τιμή της μεταβλητής day και εμφανίζει την τιμή αυτήν στην οθόνη.

Αν η τιμή της μεταβλητής day είναι 3, το αποτέλεσμα που θα εμφανιστεί στην οθόνη είναι:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Wednesday
Wednesday
Wednesday

Αυτό συμβαίνει επειδή η μεταβλητή day έχει τιμή 3 και ο κώδικας εκχωρεί στη μεταβλητή dayName την αντίστοιχη ονομασία της ημέρας, δηλαδή “Wednesday”. Έπειτα, η τιμή της μεταβλητής dayName εμφανίζεται στην οθόνη με τη χρήση της System.out.println().

[adinserter block=”2″]

Όταν η Java φτάνει σε μια εντολή break εντός ενός switch block, αυτό σημαίνει ότι η εκτέλεση του block διακόπτεται.

Αυτό έχει ως αποτέλεσμα να μην εκτελεστούν περαιτέρω εντολές και να μην ελεγχθούν άλλες περιπτώσεις μέσα στο block.

Όταν βρεθεί αληθή συνθήκη και ολοκληρωθεί η αντίστοιχη εργασία, είναι κατάλληλο να χρησιμοποιήσουμε την εντολή break για να διακόψουμε την εκτέλεση του switch. Δεν είναι απαραίτητο να εκτελεστούν άλλες περιπτώσεις καθώς έχει επιτευχθεί η αντίστοιχη λειτουργία.

Συνήθως τοποθετούμε την εντολή break στο τέλος κάθε block κώδικα εντός του switch για να διακόψουμε την εκτέλεση του switch.

Η εντολή default καθορίζει έναν κώδικα που θα εκτελεστεί εάν καμία από οι συνθήκες (case) σε μια δομή επιλογής switch δεν είναι αληθείς.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
int day = 8; // Ορισμός μεταβλητής day με τιμή 8
String dayName; // Δήλωση μεταβλητής dayName τύπου String
switch (day) { // Εκτέλεση ενός switch statement με βάση την τιμή της μεταβλητής day
case 1: // Αν η τιμή της μεταβλητής day είναι 1
dayName = "Monday"; // Ορισμός της μεταβλητής dayName ως "Monday"
break; // Έξοδος από το switch statement
case 2: // Αν η τιμή της μεταβλητής day είναι 2
dayName = "Tuesday"; // Ορισμός της μεταβλητής dayName ως "Tuesday"
break; // Έξοδος από το switch statement
case 3: // Αν η τιμή της μεταβλητής day είναι 3
dayName = "Wednesday"; // Ορισμός της μεταβλητής dayName ως "Wednesday"
break; // Έξοδος από το switch statement
case 4: // Αν η τιμή της μεταβλητής day είναι 4
dayName = "Thursday"; // Ορισμός της μεταβλητής dayName ως "Thursday"
break; // Έξοδος από το switch statement
case 5: // Αν η τιμή της μεταβλητής day είναι 5
dayName = "Friday"; // Ορισμός της μεταβλητής dayName ως "Friday"
break; // Έξοδος από το switch statement
case 6: // Αν η τιμή της μεταβλητής day είναι 6
dayName = "Saturday"; // Ορισμός της μεταβλητής dayName ως "Saturday"
break; // Έξοδος από το switch statement
case 7: // Αν η τιμή της μεταβλητής day είναι 7
dayName = "Sunday"; // Ορισμός της μεταβλητής dayName ως "Sunday"
break; // Έξοδος από το switch statement
default: // Αν η τιμή της μεταβλητής day δεν ταιριάζει με καμία από τις παραπάνω περιπτώσεις
dayName = "Invalid day"; // Ορισμός της μεταβλητής dayName ως "Invalid day"
break; // Έξοδος από το switch statement
}
System.out.println(dayName); // Εκτύπωση της τιμής της μεταβλητής dayName
int day = 8; // Ορισμός μεταβλητής day με τιμή 8 String dayName; // Δήλωση μεταβλητής dayName τύπου String switch (day) { // Εκτέλεση ενός switch statement με βάση την τιμή της μεταβλητής day case 1: // Αν η τιμή της μεταβλητής day είναι 1 dayName = "Monday"; // Ορισμός της μεταβλητής dayName ως "Monday" break; // Έξοδος από το switch statement case 2: // Αν η τιμή της μεταβλητής day είναι 2 dayName = "Tuesday"; // Ορισμός της μεταβλητής dayName ως "Tuesday" break; // Έξοδος από το switch statement case 3: // Αν η τιμή της μεταβλητής day είναι 3 dayName = "Wednesday"; // Ορισμός της μεταβλητής dayName ως "Wednesday" break; // Έξοδος από το switch statement case 4: // Αν η τιμή της μεταβλητής day είναι 4 dayName = "Thursday"; // Ορισμός της μεταβλητής dayName ως "Thursday" break; // Έξοδος από το switch statement case 5: // Αν η τιμή της μεταβλητής day είναι 5 dayName = "Friday"; // Ορισμός της μεταβλητής dayName ως "Friday" break; // Έξοδος από το switch statement case 6: // Αν η τιμή της μεταβλητής day είναι 6 dayName = "Saturday"; // Ορισμός της μεταβλητής dayName ως "Saturday" break; // Έξοδος από το switch statement case 7: // Αν η τιμή της μεταβλητής day είναι 7 dayName = "Sunday"; // Ορισμός της μεταβλητής dayName ως "Sunday" break; // Έξοδος από το switch statement default: // Αν η τιμή της μεταβλητής day δεν ταιριάζει με καμία από τις παραπάνω περιπτώσεις dayName = "Invalid day"; // Ορισμός της μεταβλητής dayName ως "Invalid day" break; // Έξοδος από το switch statement } System.out.println(dayName); // Εκτύπωση της τιμής της μεταβλητής dayName
int day = 8; // Ορισμός μεταβλητής day με τιμή 8
String dayName; // Δήλωση μεταβλητής dayName τύπου String

switch (day) { // Εκτέλεση ενός switch statement με βάση την τιμή της μεταβλητής day
    case 1: // Αν η τιμή της μεταβλητής day είναι 1
        dayName = "Monday"; // Ορισμός της μεταβλητής dayName ως "Monday"
        break; // Έξοδος από το switch statement
    case 2: // Αν η τιμή της μεταβλητής day είναι 2
        dayName = "Tuesday"; // Ορισμός της μεταβλητής dayName ως "Tuesday"
        break; // Έξοδος από το switch statement
    case 3: // Αν η τιμή της μεταβλητής day είναι 3
        dayName = "Wednesday"; // Ορισμός της μεταβλητής dayName ως "Wednesday"
        break; // Έξοδος από το switch statement
    case 4: // Αν η τιμή της μεταβλητής day είναι 4
        dayName = "Thursday"; // Ορισμός της μεταβλητής dayName ως "Thursday"
        break; // Έξοδος από το switch statement
    case 5: // Αν η τιμή της μεταβλητής day είναι 5
        dayName = "Friday"; // Ορισμός της μεταβλητής dayName ως "Friday"
        break; // Έξοδος από το switch statement
    case 6: // Αν η τιμή της μεταβλητής day είναι 6
        dayName = "Saturday"; // Ορισμός της μεταβλητής dayName ως "Saturday"
        break; // Έξοδος από το switch statement
    case 7: // Αν η τιμή της μεταβλητής day είναι 7
        dayName = "Sunday"; // Ορισμός της μεταβλητής dayName ως "Sunday"
        break; // Έξοδος από το switch statement
    default: // Αν η τιμή της μεταβλητής day δεν ταιριάζει με καμία από τις παραπάνω περιπτώσεις
        dayName = "Invalid day"; // Ορισμός της μεταβλητής dayName ως "Invalid day"
        break; // Έξοδος από το switch statement
}

System.out.println(dayName); // Εκτύπωση της τιμής της μεταβλητής dayName

Ο κώδικας αυτός χρησιμοποιεί ένα switch statement για να επιλέξει την κατάλληλη ημέρα (dayName) με βάση την τιμή της μεταβλητής day. Η τιμή της μεταβλητής day έχει οριστεί ως 8.

Ο κώδικας αρχικά ελέγχει την τιμή της μεταβλητής day και εκτελεί τον κώδικα μέσα στην περίπτωση (case) που ταιριάζει με την τιμή της day. Στη συγκεκριμένη περίπτωση, καθώς η τιμή της day είναι 8 και δεν υπάρχει περίπτωση (case) για την τιμή αυτή, εκτελείται η περίπτωση (default) που ορίζει την τιμή της μεταβλητής dayName ως “Invalid day”.

Στη συνέχεια, η τιμή της μεταβλητής dayName εκτυπώνεται στην οθόνη μέσω της εντολής System.out.println(dayName);.

Άρα, στην περίπτωση αυτή, θα εμφανιστεί στην οθόνη το μήνυμα “Invalid day”.

12 Ιουνίου, 2023
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων