Η δήλωση break χρησιμοποιείται για να διακόψει την εκτέλεση ενός βρόχου και να βγει από αυτόν. Ας παραθέσουμε μια παράφραση με σωστή χρήση λέξεων:
Έχετε ήδη εξοικειωθεί με τη χρήση της δήλωσης break σε προηγούμενο κεφάλαιο αυτού του εγχειριδίου, όπου χρησιμοποιήθηκε για να τερματίσει μια δήλωση switch.
Ωστόσο, η δήλωση break μπορεί επίσης να χρησιμοποιηθεί για να διακόψει την εκτέλεση ενός βρόχου και να βγει από αυτόν.
Αυτό το παράδειγμα σταματά το βρόχο όταν το i είναι ίσο με 13:
for (int i = 0; i < 20; i++) { // Ελέγχουμε αν η τιμή της μεταβλητής i είναι ίση με 13 if (i == 13) { // Αν η τιμή της μεταβλητής i είναι ίση με 13, τότε βγαίνουμε από την επανάληψη break; } // Εκτύπωση της τιμής της μεταβλητής i System.out.println(i); }
Ο παραπάνω κώδικας χρησιμοποιεί έναν βρόχο for
για να επαναλάβει μια ενέργεια 20 φορές. Η μεταβλητή i
αρχικοποιείται στο 0 και αυξάνεται κατά 1 σε κάθε επανάληψη με τη χρήση του i++
.
Μέσα στη βρόχο, υπάρχει ένας έλεγχος if
που ελέγχει αν η τιμή της μεταβλητής i
είναι ίση με 13. Αν αυτή η συνθήκη είναι αληθής, τότε εκτελείται η εντολή break
, η οποία διακόπτει την εκτέλεση του βρόχου και βγαίνει από αυτόν.
Αν η συνθήκη του if
δεν είναι αληθής, τότε εκτελείται η εντολή System.out.println(i)
που εκτυπώνει την τιμή της μεταβλητής i
στην οθόνη.
Έτσι, ο κώδικας θα εκτυπώσει τα νούμερα από το 0 μέχρι το 12 και στη συνέχεια θα διακόψει την εκτέλεση του βρόχου καθώς η τιμή της μεταβλητής i
θα γίνει 13.
[adinserter block=”2″]
Όταν χρησιμοποιούμε τη δήλωση continue
μέσα σε έναν βρόχο, αυτή διακόπτει την τρέχουσα επανάληψη του βρόχου, αν συμβεί μια συγκεκριμένη συνθήκη, και συνεχίζει με την επόμενη επανάληψη του βρόχου.
Αν η συνθήκη που προκαλεί τη χρήση του continue
είναι αληθής, τότε ο κώδικας που βρίσκεται μετά τη δήλωση continue
δεν εκτελείται για την τρέχουσα επανάληψη, αλλά προχωρά απευθείας στην επόμενη επανάληψη του βρόχου. Αυτό επιτρέπει την παράλειψη εκτέλεσης μιας συγκεκριμένης ενέργειας και την προώθηση της εκτέλεσης στην επόμενη επανάληψη, ανάλογα με την προκαθορισμένη συνθήκη.
Με αυτόν τον τρόπο, η δήλωση continue
μπορεί να χρησιμοποιηθεί για να παρακάμψει συγκεκριμένες επαναλήψεις του βρόχου, εστιάζοντας μόνο στις επαναλήψεις που πληρούν την απαιτούμενη συνθήκη.
Αυτό το παράδειγμα παραλείπει την τιμή 13:
for (int i = 0; i < 20; i++) { if (i == 13) { continue; // Παράβλεψη της επανάληψης για το i=13 } System.out.println(i); // Εκτύπωση της τιμής του i }
Ο παραπάνω κώδικας περιλαμβάνει έναν βρόχο for
που εκτελείται 20 φορές, μετρώντας τη μεταβλητή i
από το 0 έως το 19.
Μέσα στον βρόχο, υπάρχει μια δομή if
που ελέγχει αν η τιμή της μεταβλητής i
είναι ίση με 13. Αν αυτή η συνθήκη ισχύει, τότε χρησιμοποιείται η εντολή continue
, η οποία παραβλέπει την υπόλοιπη επανάληψη του βρόχου και πηγαίνει αμέσως στο επόμενο βήμα της επανάληψης.
Αν η συνθήκη του if
δεν ισχύει, τότε εκτελείται η εντολή System.out.println(i)
, η οποία εκτυπώνει την τρέχουσα τιμή της μεταβλητής i
.
Έτσι, ο κώδικας εκτυπώνει τις τιμές από το 0 έως το 19 στην οθόνη, αλλά παραλείπει την εκτύπωση του αριθμού 13.
Μπορείτε επίσης να χρησιμοποιήσετε τις δηλώσεις break και continue στους while βρόχους:
int i = 0; // Αρχικοποίηση μεταβλητής i με την τιμή 0 while (i < 10) { // Εκτέλεση του κώδικα μέχρι η τιμή του i να γίνει μεγαλύτερη ή ίση του 10 if (i == 4) { // Έλεγχος αν η τιμή του i είναι 4 break; // Έξοδος από τον βρόχο while } i++; // Αύξηση της τιμής του i κατά 1 if (i == 2) { // Έλεγχος αν η τιμή του i είναι 2 continue; // Προχωράμε στην επόμενη επανάληψη του βρόχου while, παραλείποντας τις εντολές που ακολουθούν } System.out.println(i); // Εκτύπωση της τρέχουσας τιμής του i }
Ο παραπάνω κώδικας χρησιμοποιεί έναν βρόχο while
για να εκτελέσει μια σειρά εντολών όσο η τιμή του i
είναι μικρότερη του 10. Ακολουθούν τα σχόλια που εξηγούν τη λειτουργία του κώδικα σε κάθε σημείο:
- Αρχικοποίηση της μεταβλητής
i
με την τιμή 0. - Έλεγχος: Αν η τιμή του
i
είναι 4, τότε η εντολήbreak
θα διακόψει την εκτέλεση του βρόχουwhile
και θα συνεχίσει η εκτέλεση μετά τον βρόχο. - Αύξηση της τιμής του
i
κατά 1. - Έλεγχος: Αν η τιμή του
i
είναι 2, τότε η εντολήcontinue
θα προκαλέσει την προχώρηση στην επόμενη επανάληψη του βρόχου, παραλείποντας τις εντολές που ακολουθούν. - Εκτύπωση της τρέχουσας τιμής του
i
.
Με βάση τον παραπάνω κώδικα, θα εμφανιστούν στην οθόνη οι αριθμοί 1, 3, 5, 6, 7, 8, 9, αφού η εντολή break
θα διακόψει τον βρόχο όταν το i
γίνει 4 και η εντολή continue
θα προκαλέσει την προχώρηση στην επόμενη επανάληψη όταν το i
γίνει 2.