Συνθήκη Switch (Condition Switch) στην γλώσσα προγραμματισμού Java

Συνθήκη Switch (Condition Switch) στην γλώσσα προγραμματισμού Java

Συνθήκη Switch (Condition Switch)

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

Σύνταξη συνθήκης Switch

Η σύνταξη είναι ως εξής:

switch (έκφραση) {
    case value1:
        //Δήλωση όρου
        break;//Για να σταματήσει η συνθήκη
    case value2:
        //Δήλωση όρου
        break;//Για να σταματήσει η συνθήκη
    default: //Μη-υποχρεωτικό. Στην περίπτωση που δεν ισχύει τίποτα από τα παραπάνω να κάνει αυτό.
        //Δήλωση όρου
}

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

Παράδειγμα:

class MyConditionSwitch{
    public static void main(String[] args){

        //Δήλωση μεταβλητών
        int a = 3;
        //Αρχή της Switch
        switch (a) {
            case 1:
                System.out.println("Δευτέρα");
                break;
            case 2:
                System.out.println("Τρίτη");
                break;
            case 3:
                System.out.println("Τετάρτη");
                break;
        }
    }
}

Το αποτέλεσμα για το παραπάνω παράδειγμα είναι “Τετάρτη”. Αυτό γιατί έχουμε μία μεταβλητή που έχει την τιμή 3. Στις case  έχουμε τις περιπτώσεις που αν η μεταβλητή είναι ίση με κάποια από τις τιμές αυτών τότε να μας δώσει ένα αποτέλεσμα. Το παραπάνω παράδειγμα επειδή η μεταβλητή μας έχει πάρει την τιμή 3 τότε η συνθήκη switch θα τρέξει μέχρι να βρει πια case έχει την τιμή 3.

Για να γίνει αυτό πιο κατανοητό θα δείξουμε ένα παράδειγμα πως θα μπορούσαμε να το τυπώσουμε αυτό με συνθήκες If/Else if/Else.

class MyConditionTest{
    public static void main(String[] args){
        //Δήλωση μεταβλητών
        int a = 3;
        //Συνθήκη If/Else if/ Else
        if (a == 1){
            System.out.println("Δευτέρα");
        }
        else if (a == 2){
            System.out.println("Τριτη");
        }
        else if (a == 3){
            System.out.println("Τετάρτη");
        }

    }
}

Όπως παρατηρούμε η δήλωση αυτή είναι λίγο πιο περίπλοκη και πρέπει να γράψουμε “αρκετά” περισσότερα πράγματα. Δηλαδή για κάποια απλή λογική ή συγκριτική πράξει η συνθήκη Switch είναι αρκετά καλή.

Δήλωση όρου της default στην συνθήκη Switch

Η “default” στην συνθήκη Switch μπορεί να παρομοιαστεί με το “else” της συνθήκης “If”. Δηλαδή αν κάτι δεν ισχύει από τα παραπάνω να εκτελέσει αυτό. Πάμε να το δούμε σε παράδειγμα.

Παράδειγμα:

class MyConditionSwitch{
    public static void main(String[] args){
        //Δήλωση μεταβλητών
        int a = 3;
        //Αρχή της Switch
        switch (a){
           case 6:
               System.out.println("Σάββατο");
               break;
           case 7:
               System.out.println("Κυριακή");
               break;
            default:
               System.out.println("Εκτός εβδομάδας");
               break;
        }
    }
}

Το αποτέλεσμα από αυτό θα είναι το “Εκτός εβδομάδας”. Αυτό γιατί η τιμή της μεταβλητής μας, δεν αντιστοιχεί σε κάποια τιμή των “case” οπότε αυτόματα  επιλέγει την “default” για εκτέλεση. Το ίδιο ακριβώς σε παράδειγμα στην συνθήκη If/Else if/Else θα ήταν έτσι:

class MyConditionTest{
    public static void main(String[] args){
        //Δήλωση μεταβλητών
        int a = 3;
        //Συνθήκη If/Else if/ Else
        if (a == 6){
            System.out.println("Σάββατο");
        }
        else if (a == 7){
            System.out.println("Κυριακή");
        }
        else{
            System.out.println("Εκτός εβδομάδας");
        }

    }
}

Όπως βλέπουμε και σε αυτή την περίπτωση, επειδή δεν ισχύει τίποτα από τα πιο πάνω καταλήγουμε στην περίπτωση του “else”.

 

switch

Απάντηση

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει τα ανεπιθύμητα σχόλια. Μάθετε πώς υφίστανται επεξεργασία τα δεδομένα των σχολίων σας.