Βρόγχος επανάληψης While
Ο βρόγχος επανάληψης While είναι ένας από τους βρόγχος επανάληψης που υπάρχουν στην Java. Σχετίζεται με τον βρόγχο επανάληψης For με την διαφορά ότι η While θα εκτελεί την επανάληψη έως ότου η συνθήκη της γίνει αληθής, σε αντίθεση με την For που θα επαναλαμβάνεται όσες φορές επιλέξουμε εμείς.
Χρήση του βρόγχου επανάληψης While
Ο βρόγχος επανάληψης While-όπως προείπαμε- σχετίζεται με την For. Με την While μπορούμε να γεμίσουμε πίνακες, να τρέξουμε συναρτήσεις, να τυπώσουμε κείμενο, να εκτελέσουμε κώδικα κλάσεων αλλά και οτιδήποτε άλλο χρειάζεται επανάληψη.
Σύνταξη του βρόγχου επανάληψης While
Ο βρόγχος επανάληψης While συντάσσεται ως εξής:
class MyFirstWhile{ public static void main(String[] args){ int x = 0;//Δημιουργούμε μεταβλητή. while (x != 10){//Δημιουργία While. System.out.println("You use your first While");//Τύπωση μηνύματος. x++;//Αύξηση μεταβλητής κατά 1. } } }
Ανάλυση της σύνταξης του βρόγχου επανάληψης While
Ο βρόγχος επανάληψης While ξεκινάει με την δεσμευμένη λέξη “While” που ορίζει την αρχή της επανάληψης. Στην συνέχεια έχουμε τη συνθήκη η οποία καθορίζει την επαναληπτικότητα των εντολών που βρίσκονται στο εσωτερικό του βρόγχου. Στο παραπάνω παράδειγμα, συνθήκη αποτελεί η εντολή η μεταβλητή “x” να είναι διαφορετική από το 10. Επομένως όσο το “x” είναι διαφορετικό του 10, θα εκτελείται η επανάληψη. Στο εσωτερικό του βρόγχου επανάληψης τοποθετούμε τις εντολές που θέλουμε να εκτελεστούν κατ’ επανάληψη.
Όταν η συνθήκη μας γίνει αληθής (True) -δηλαδή όταν το “x” ισούται με 10– τότε το πρόγραμμα θα συνεχιστεί παραλείποντας τις εντολές στο εσωτερικό του βρόγχου επανάληψης προχωρώντας στην αμέσως επόμενη εντολή.
Εμφωλευμένος βρόγχος επανάληψης While
Όπως και ο βρόγχος επανάληψης For έτσι και ο βρόγχος επανάληψης While μπορεί να γίνει και σε εμφωλευμένη μορφή. Αυτό σημαίνει ότι μπορούμε να χρησιμοποιήσουμε τον βρόγχο επανάληψης While μέσα σε οποιονδήποτε βρόγχο, ακόμα και μέσα σε μία While, με την προϋπόθεση ότι όταν εμφανιστεί ένας βρόγχος επανάληψης While εμφωλευμένος θα εκτελεστεί η επανάληψη που ορίζει η While και όταν ολοκληρωθεί τότε θα συνεχιστούν οι υπόλοιπες εντολές του βρόγχου.
Παράδειγμα:
class MyNestedWhileToFor{ public static void main(String[] args){ int x = 0; // Δημιουργία μεταβλητής. for(int i=0; i<10; i++){//Δημιουργία For while(x != 10){//Δημιουργία While System.out.println("Your nested While in For");//Μήνυμα που θα τυπώσει η While όσο τρέχει. x++;//Αυξάνουμε την μεταβλητή μας κατά 1. } x = 0;//Μηδενίζουμε την μεταβλητή μας. } } }
Παρατηρούμε ότι ο βρόγχος επανάληψης For θα εκτελεστεί 10 φορές, δηλαδή όσες τιμές παίρνει το “i“. Αυτό οδηγεί στο συμπέρασμα ότι ο βρόγχος επανάληψης While θα εκτελεστεί επίσης 10 φορές. Από την άλλη ο βρόγχος επανάληψης While θα τυπώσει το μήνυμα που ζητάμε 10 φορές λόγω της συνθήκης που επιλέξαμε. Έτσι προκύπτει ότι το μήνυμά μας τελικά θα τυπωθεί συνολικά 100 φορές.
Κάτι αντίστοιχο παρατηρούμε με μία εμφωλευμένη While σε βρόγχο επανάληψης While.
Παράδειγμα:
class MyNestedWhileToWhile{ public static void main(String[] args){ int x,y;//Δημιουργούμε δύο μεταβλητές. x = 0;//Δίνουμε τιμή στο x. y = 0;//Δίνουμε τιμή στο y. while (x != 10){ //Δημιουργούμε την πρώτη While. while (y != 10){//Δημιουργούμε την δεύτερη While. System.out.println("Your first nested while");//Μήνυμα που θα τυπώσει. y++;//Αύξηση της μεταβλητής κατά 1. } y = 0; //Μηδενίζουμε την μεταβλητή y. x++; //Αύξηση της μεταβλητής κατά 1. } } }