Οι βρόχοι (Loops) επιτρέπουν την εκτέλεση ενός μπλοκ κώδικα όσο καιρό μια συγκεκριμένη συνθήκη εξακολουθεί να ισχύει.
Οι βρόχοι είναι χρήσιμοι επειδή εξοικονομούν χρόνο, μειώνουν τα λάθη και καθιστούν τον κώδικα πιο ευανάγνωστο.
Στη γλώσσα προγραμματισμού Java, υπάρχουν δύο βασικές μορφές βρόχων:
- Η
for
βρόχος - Η
while
βρόχος
Και οι δύο βρόχοι μπορούν να εκτελέσουν ένα μπλοκ κώδικα επαναληπτικά ενώ ισχύει μια συγκεκριμένη συνθήκη. Η βασική διαφορά μεταξύ των δύο βρόχων είναι η στιγμή που ελέγχεται η συνθήκη: η for
βρόχος ελέγχει τη συνθήκη στην αρχή της επανάληψης, ενώ η while
βρόχος ελέγχει τη συνθήκη στην αρχή κάθε επανάληψης.
Ο while
βρόχος επαναλαμβάνει ένα μπλοκ κώδικα όσο μια συγκεκριμένη συνθήκη εξακολουθεί να ισχύει.
Η συντακτική δομή της while
είναι η εξής:
while (condition) { // Μπλοκ κώδικα που θα εκτελεστεί όσο η συνθήκη είναι αληθής }
Όταν η συνθήκη γίνει ψευδής, η εκτέλεση της επανάληψης διακόπτεται και η εκτέλεση του κώδικα συνεχίζει μετά το τέλος του μπλοκ κώδικα του while
.
Παρακάτω δίνονται δύο παραδείγματα με while
βρόχους σε Java:
int i = 0; while (i < 5) { System.out.println(i); i++; }
Στο παραπάνω παράδειγμα, η συνθήκη του βρόχου while
ελέγχει εάν η μεταβλητή i
είναι μικρότερη από 5. Όσο η συνθήκη είναι αληθής, εκτελείται το μπλοκ κώδικα που εμφανίζει την τιμή της μεταβλητής i
και αυξάνει την τιμή της μεταβλητής κατά ένα.
int i = 10; while (i >= 0) { System.out.println(i); i -= 2; }
Στο παραπάνω παράδειγμα, η συνθήκη του βρόχου while
ελέγχει εάν η μεταβλητή i
είναι μεγαλύτερη από ή ίση με 0. Όσο η συνθήκη είναι αληθής, εκτελείται το μπλοκ κώδικα που εμφανίζει την τιμή της μεταβλητής i
και μειώνει την τιμή της κατά 2. Στην πρώτη επανάληψη, η τιμή της i
είναι 10, στη δεύτερη 8, στην τρίτη 6 κλπ., μέχρι να γίνει η συνθήκη ψευδής στην έβδομη επανάληψη, όπου η τιμή της i
θα είναι -4.
[adinserter block=”2″]
Ο βρόχος do/while
είναι μια παραλλαγή του βρόχου while
. Αυτός ο βρόχος εκτελεί το μπλοκ κώδικα του τουλάχιστον μία φορά, πριν ελεγχθεί η συνθήκη και ανακαλυφθεί ότι ισχύει ή όχι.
Η συντακτική δομή του do/while
είναι η εξής:
do { // Μπλοκ κώδικα που θα εκτελεστεί τουλάχιστον μία φορά } while (condition);
Η διαφορά μεταξύ του while
και του do/while
είναι ότι στο do/while
το μπλοκ κώδικα εκτελείται τουλάχιστον μία φορά, ανεξάρτητα από την τιμή της συνθήκης.
Παρακάτω δίνονται δύο παραδείγματα με do/while
βρόχους σε Java:
int i = 0; do { System.out.println(i); i++; } while (i < 5);
Στο παραπάνω παράδειγμα, ο βρόχος do/while
θα εκτελέσει το μπλοκ κώδικα του τουλάχιστον μία φορά, ακόμα κι αν η συνθήκη i < 5
είναι ψευδής από την αρχή. Στη συνέχεια, ελέγχεται η συνθήκη και εκτελείται ή όχι το μπλοκ κώδικα ανάλογα με την τιμή της συνθήκης.
int i = 10; do { System.out.println(i); i -= 2; } while (i >= 0);
Στο παραπάνω παράδειγμα, ο βρόχος do/while
θα εκτελέσει το μπλοκ κώδικα του τουλάχιστον μία φορά, αφού η συνθήκη i >= 0
είναι αρχικά αληθής. Στο μπλοκ κώδικα, η τιμή της μεταβλητής i
εμφανίζεται και μειώνεται κατά 2 σε κάθε επανάληψη. Ο βρόχος θα συνεχίσει να εκτελείται μέχρι η τιμή της i
να γίνει αρνητική, οπότε η συνθήκη θα γίνει ψευδής και ο βρόχος θα σταματήσει την εκτέλεσή του.