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.

3.5 Οι εντολές Break και Continue στην Java

Η δήλωση break χρησιμοποιείται για να διακόψει την εκτέλεση ενός βρόχου και να βγει από αυτόν. Ας παραθέσουμε μια παράφραση με σωστή χρήση λέξεων:

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

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

Αυτό το παράδειγμα σταματά το βρόχο όταν το i είναι ίσο με 13:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for (int i = 0; i < 20; i++) {
// Ελέγχουμε αν η τιμή της μεταβλητής i είναι ίση με 13
if (i == 13) {
// Αν η τιμή της μεταβλητής i είναι ίση με 13, τότε βγαίνουμε από την επανάληψη
break;
}
// Εκτύπωση της τιμής της μεταβλητής i
System.out.println(i);
}
for (int i = 0; i < 20; i++) { // Ελέγχουμε αν η τιμή της μεταβλητής i είναι ίση με 13 if (i == 13) { // Αν η τιμή της μεταβλητής i είναι ίση με 13, τότε βγαίνουμε από την επανάληψη break; } // Εκτύπωση της τιμής της μεταβλητής i System.out.println(i); }
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
for (int i = 0; i < 20; i++) {
if (i == 13) {
continue; // Παράβλεψη της επανάληψης για το i=13
}
System.out.println(i); // Εκτύπωση της τιμής του i
}
for (int i = 0; i < 20; i++) { if (i == 13) { continue; // Παράβλεψη της επανάληψης για το i=13 } System.out.println(i); // Εκτύπωση της τιμής του i }
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 βρόχους:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
}
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 }
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. Ακολουθούν τα σχόλια που εξηγούν τη λειτουργία του κώδικα σε κάθε σημείο:

  1. Αρχικοποίηση της μεταβλητής i με την τιμή 0.
  2. Έλεγχος: Αν η τιμή του i είναι 4, τότε η εντολή break θα διακόψει την εκτέλεση του βρόχου while και θα συνεχίσει η εκτέλεση μετά τον βρόχο.
  3. Αύξηση της τιμής του i κατά 1.
  4. Έλεγχος: Αν η τιμή του i είναι 2, τότε η εντολή continue θα προκαλέσει την προχώρηση στην επόμενη επανάληψη του βρόχου, παραλείποντας τις εντολές που ακολουθούν.
  5. Εκτύπωση της τρέχουσας τιμής του i.

Με βάση τον παραπάνω κώδικα, θα εμφανιστούν στην οθόνη οι αριθμοί 1, 3, 5, 6, 7, 8, 9, αφού η εντολή break θα διακόψει τον βρόχο όταν το i γίνει 4 και η εντολή continue θα προκαλέσει την προχώρηση στην επόμενη επανάληψη όταν το i γίνει 2.

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