Τα break
και continue
είναι δύο εντολές ελέγχου που χρησιμοποιούνται στη γλώσσα προγραμματισμού C# για τον έλεγχο της εκτέλεσης ενός βρόχου.
Ο όρος break
χρησιμοποιείται εντός ενός βρόχου (όπως for
, while
, do-while
) για να διακόψει αμέσως την εκτέλεση του βρόχου και να βγει από αυτόν. Όταν η εντολή break
εκτελείται, ο έλεγχος της εκτέλεσης προχωρά στην πρώτη εντολή που βρίσκεται μετά τον βρόχο.
Αντίθετα, ο όρος continue
χρησιμοποιείται εντός ενός βρόχου για να παραλείψει την υπόλοιπη εκτέλεση της επανάληψης και να μεταβεί αμέσως στην επόμενη επανάληψη. Όταν η εντολή continue
εκτελείται, ο έλεγχος της εκτέλεσης πηγαίνει στην επόμενη επανάληψη του βρόχου.
Οι εντολές break
και continue
χρησιμοποιούνται για τον έλεγχο της ροής εκτέλεσης ενός βρόχου, επιτρέποντάς μας να διακόψουμε ή να παραλείψουμε ορισμένα τμήματα κώδικα ανάλογα με συγκεκριμένες συνθήκες.
Παράδειγμα με τη χρήση της εντολής break
:
using System; class Program { static void Main() { // Χρήση επαναληπτικής δομής for για την εκτέλεση ενός κομματιού κώδικα πολλές φορές for (int i = 0; i < 10; i++) { // Έλεγχος αν η τιμή της μεταβλητής i είναι ίση με 5 if (i == 5) { // Χρήση της εντολής break για να βγούμε από την επανάληψη break; } // Εκτύπωση της τιμής της μεταβλητής i Console.WriteLine(i); } } }
Ο παραπάνω κώδικας σε C# εκτελεί τις εξής ενέργειες:
- Ορίζει την κλάση
Program
. - Ορίζει την στατική μέθοδο
Main
ως σημείο εκκίνησης του προγράμματος. - Εντός της μεθόδου
Main
ορίζεται μια επαναληπτική δομήfor
με μετρητήi
που αρχικοποιείται στο 0 και ελέγχει αν είναι μικρότερο του 10. - Μέσα στην επανάληψη, υπάρχει ένας έλεγχος
if
που ελέγχει αν η τιμή της μεταβλητήςi
είναι ίση με 5. - Εάν η τιμή της
i
είναι ίση με 5, τότε εκτελείται η εντολήbreak
, που διακόπτει την επανάληψη και βγαίνει από τη δομή επανάληψηςfor
. - Αν η τιμή της
i
δεν είναι ίση με 5, τότε εκτελείται η εντολήConsole.WriteLine(i)
, η οποία εκτυπώνει την τρέχουσα τιμή της μεταβλητήςi
. - Η επανάληψη επαναλαμβάνεται για τις υπόλοιπες τιμές της
i
μέχρι να φτάσει στην τιμή 5. - Όταν η τιμή της
i
γίνει 5 και εκτελεστεί η εντολήbreak
, η εκτέλεση του προγράμματος συνεχίζει με την επόμενη εντολή μετά τοfor
. - Ο κώδικας τερματίζει και το πρόγραμμα ολοκληρώνεται.
Συνολικά, ο κώδικας εκτυπώνει τις τιμές από το 0 έως το 4, καθώς όταν η τιμή της μεταβλητής i
γίνει 5, εκτελείται η εντολή break
και η επανάληψη διακόπτεται.
Η έξοδος θα είναι:
0 1 2 3 4
Παράδειγμα με τη χρήση της εντολής continue
:
using System; class Program { static void Main() { // Επανάληψη από το 0 έως το 9 for (int i = 0; i < 10; i++) { // Έλεγχος αν το i είναι άρτιο if (i % 2 == 0) { // Παράβλεψη του τρέχοντος βήματος της επανάληψης continue; } // Εκτύπωση του τρέχοντος αριθμού i Console.WriteLine(i); } } }
Ο παραπάνω κώδικας σε C# εκτελεί μια επανάληψη για τις τιμές του i
από το 0 έως το 9. Κατά τη διάρκεια κάθε επανάληψης, γίνεται έλεγχος αν το i
είναι άρτιο ή όχι χρησιμοποιώντας τον τελεστή %
για την ακέραια διαίρεση με το 2. Αν το i
είναι άρτιο, τότε γίνεται παράβλεψη του τρέχοντος βήματος της επανάληψης με την εντολή continue
. Αν το i
δεν είναι άρτιο, τότε εκτυπώνεται η τιμή του i
με τη χρήση της εντολής Console.WriteLine
.
Συνολικά, ο κώδικας εκτυπώνει τους μονούς αριθμούς από το 1 έως το 9 στην κονσόλα. Οι άρτιοι αριθμοί παραλείπονται λόγω της εντολής continue
που τους παραβλέπει.
Η έξοδος θα είναι:
1 3 5 7 9
Οι εντολές break
και continue
μας παρέχουν ευελιξία στον έλεγχο της ροής ενός βρόγχου. Χρησιμοποιούνται για να προσαρμόσουμε τη συμπεριφορά ενός βρόγχου ανάλογα με συγκεκριμένες συνθήκες.
Η εντολή break
χρησιμοποιείται για να τερματίσει εντελώς τον βρόγχο και να συνεχίσει η εκτέλεση κώδικα μετά τον βρόγχο.
[adinserter block=”2″]
Η εντολή continue
χρησιμοποιείται για να προσπεράσει τον υπόλοιπο κώδικα του τρέχοντος βρόγχου και να συνεχίσει με την επόμενη επανάληψη του βρόγχου.
Μπορείτε να χρησιμοποιήσετε τις εντολές break
και continue
και σε βρόγχους while. Η σύνταξη και η λειτουργία τους είναι η ίδια με αυτή που έχουμε ήδη περιγράψει.
Ένα παράδειγμα με τη χρήση της εντολής break
σε έναν βρόγχο while θα μπορούσε να είναι το εξής:
using System; class Program { static void Main() { // Δημιουργία μεταβλητής i και αρχικοποίηση στο 0 int i = 0; // Επανάληψη while με συνθήκη i < 10 while (i < 10) { // Έλεγχος αν η τιμή της μεταβλητής i είναι ίση με 5 if (i == 5) { // Έξοδος από την επανάληψη αν η τιμή της μεταβλητής i είναι 5 break; } // Εκτύπωση της τιμής της μεταβλητής i Console.WriteLine(i); // Αύξηση της τιμής της μεταβλητής i κατά 1 i++; } } }
Ο παραπάνω κώδικας εκτελεί την ακόλουθη λειτουργία:
- Δημιουργείται μια μεταβλητή
i
και αρχικοποιείται με την τιμή 0. - Εκτελείται μια επανάληψη
while
όσο η τιμή της μεταβλητήςi
είναι μικρότερη από 10. - Μέσα στην επανάληψη, γίνεται έλεγχος αν η τιμή της μεταβλητής
i
είναι ίση με 5. - Αν η τιμή της
i
είναι 5, τότε η εντολήbreak
διακόπτει την επανάληψη και η εκτέλεση συνεχίζει μετά το τέλος της επανάληψης. - Αν η τιμή της
i
δεν είναι 5, τότε εκτυπώνεται η τιμή τηςi
στην οθόνη μέσω της εντολήςConsole.WriteLine(i)
. - Η τιμή της
i
αυξάνεται κατά 1 με την εντολήi++
. - Η επανάληψη συνεχίζεται με την επανάληψη των βημάτων 3-6 μέχρι η τιμή της
i
να γίνει ίση με 10 ή να διακοπεί από την εντολήbreak
.
Έτσι, ο κώδικας θα εκτυπώσει τις τιμές από 0 έως 4 στην οθόνη και θα σταματήσει όταν φτάσει στην τιμή 5, διότι εκεί έχει την εντολή break
.
Αντίστοιχα, μπορείτε να χρησιμοποιήσετε την εντολή continue
για να προσπεράσετε τον υπόλοιπο κώδικα του τρέχοντος βρόγχου while και να συνεχίσετε με την επόμενη επανάληψη του βρόγχου.
Ας δούμε ένα παράδειγμα χρήσης της εντολής continue
σε έναν βρόγχο while:
using System; class Program { static void Main() { int i = 0; while (i < 5) // Επανάληψη όσο το i είναι μικρότερο του 5 { i++; // Αύξηση του i κατά 1 σε κάθε επανάληψη if (i % 2 == 0) // Έλεγχος αν το i είναι άρτιο { continue; // Προχωράμε στην επόμενη επανάληψη χωρίς να εκτελεστούν οι εντολές που ακολουθούν } Console.WriteLine(i); // Εκτύπωση του i } } }
Σε αυτό το παράδειγμα, ο βρόγχος while εκτελείται επαναληπτικά όσο η μεταβλητή i
είναι μικρότερη από 5. Αρχικά, αυξάνουμε την τιμή της i
κατά 1. Στη συνέχεια, ελέγχουμε αν η τιμή της i
είναι άρτια (δηλαδή i % 2 == 0
). Αν αυτή η συνθήκη ισχύει, τότε εκτελείται η εντολή continue
, η οποία προκαλεί την άμεση έναρξη της επόμενης επανάληψης του βρόγχου, παραλείποντας την εκτέλεση της εντολής Console.WriteLine(i)
.
Στην περίπτωση αυτή, ο βρόγχος while θα εκτελέσει τις εξής επαναλήψεις:
- Η τιμή της
i
είναι 1, δεν ισχύει η συνθήκηi % 2 == 0
, οπότε εκτελείται η εντολήConsole.WriteLine(i)
. Εμφανίζεται:1
. - Η τιμή της
i
είναι 2, ισχύει η συνθήκηi % 2 == 0
, οπότε εκτελείται η εντολήcontinue
και προχωράμε στην επόμενη επανάληψη. - Η τιμή της
i
είναι 3, δεν ισχύει η συνθήκηi % 2 == 0
, οπότε εκτεκτελείται η εντολήConsole.WriteLine(i)
. Εμφανίζεται:3
. - Η τιμή της
i
είναι 4, ισχύει η συνθήκηi % 2 == 0
, οπότε εκτελείται η εντολήcontinue
και προχωράμε στην επόμενη επανάληψη. - Η τιμή της
i
είναι 5, δεν ισχύει η συνθήκηi % 2 == 0
, οπότε εκτελείται η εντολήConsole.WriteLine(i)
. Εμφανίζεται:5
.
Η έξοδος του παραπάνω παραδείγματος θα είναι:
1 3 5
Όπως μπορείτε να δείτε, η εντολή continue
προκάλεσε την παράλειψη των αρτίων αριθμών κατά την εκτέλεση του βρόγχου.