/ / / Άπειρο για βρόχο (Java)

Απεριόριστο για (Java) βρόχο

Στην Java, όπως σχεδόν σε οποιαδήποτε γλώσσαπρογραμματισμός, υπάρχουν εργαλεία για την πολλαπλή επανάληψη ενός συγκεκριμένου κώδικα ή, όπως λέγονται, κύκλοι. Οι βρόχοι στην Java αντιπροσωπεύονται από δηλώσεις όπως για το και ενώ και τις παραλλαγές τους. Κατά κανόνα, οι βρόχοι χρησιμοποιούνται για να επαναλαμβάνουν μονοδιάστατες και πολυδιάστατες συστοιχίες και επαναλαμβανόμενες δομές δεδομένων (συμπεριλαμβανομένων των συλλογών) προκειμένου να βρουν συγκεκριμένα στοιχεία και περαιτέρω λειτουργίες μαζί τους. Ωστόσο, αυτός δεν είναι ο μόνος τρόπος για να χρησιμοποιήσετε ένα εργαλείο όπως το Java loop. Τα παραδείγματα χρήσης θα παρέχονται καθώς λαμβάνονται υπόψη.

Java while loop: περιγραφή και παραδείγματα

Ο βασικός τελεστής βρόχου στην Java είναιενώ. Το κομμάτι του κώδικα που περικλείεται στο σώμα του θα επαναληφθεί όσο η κατάσταση της έκφρασης που περικλείεται σε παρένθεση αφού ικανοποιεί τη δυαδική αξία της αλήθειας. Η γενική μορφή της δήλωσης while έχει ως εξής:

ενώ (κατάσταση) {

// κύκλος σώματος

}}

Μόλις παύσει να ισχύει η τιμή της λογικής συνθήκης, ο κωδικός που περικλείεται στο σώμα του βρόχου θα σταματήσει να εκτελείται και ο έλεγχος θα μεταφερθεί στη γραμμή αμέσως μετά από αυτόν.

βρόχους στην Ιάβα
Εάν το σώμα του βρόχου περιέχει μόνο μία δήλωση,τότε τα σγουρά τιράντες μπορούν να παραλειφθούν, αλλά θεωρείται καλή μορφή εάν είναι πάντα παρόντα. Το παραπάνω σχήμα δείχνει ένα μπλοκ διάγραμμα της λειτουργίας αυτού του χειριστή.

Για λόγους σαφήνειας, ας δούμε το παράδειγμα που φαίνεται στο παρακάτω σχήμα:

ενώ βρόχος java

Ο δηλωμένος αριθμός μεταβλητών έχει αρχικάτιμή 1. Στη συνέχεια, βλέπουμε μια λογική έκφραση που περικλείεται σε παρένθεση μετά το όνομα του χειριστή. Θα είναι αλήθεια, δηλαδή επιστροφή αληθινής αρκεί η τιμή της μεταβλητής μέτρησης να είναι μικρότερη ή ίση με 10. Στο σώμα του βρόχου, με κάθε πέρασμα (επανάληψη), η τιμή της μεταβλητής αυξάνεται κατά 1 και εμφανίζεται στην οθόνη της κονσόλας. Σημειώστε ότι όταν η μεταβλητή έφτασε το 11, ο βρόχος σταμάτησε να λειτουργεί.

Εάν η τιμή του αριθμού μεταβλητών ήταν αρχικά ίσο με 11, τότε η συνθήκη βρόχου θα ήταν λανθασμένη και το πρόγραμμα δεν θα έβγαινε καν στο σώμα του.

Αξίζει να σημειωθεί ότι το επιτρέπει η σύνταξη Javaχρησιμοποιήστε μια δήλωση για λίγο χωρίς σώμα. Ας δώσουμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε δύο μεταβλητές i = 100 και j = 200, είμαστε αντιμέτωποι με το έργο του υπολογισμού του αριθμητικού μέσου τους μέσω προγραμματισμού - για αυτό μπορείτε να χρησιμοποιήσετε το "hollow" ενώ:

ενώ (++ i <- j);

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

Βρόχος Do-while

Στα προηγούμενα παραδείγματα, εάν η υπό όρους έκφρασηαρχικά επέστρεψε ψευδής, τότε η εκτέλεση προγράμματος θα αγνοούσε το σώμα του βρόχου και θα προχωρούσε. Ωστόσο, συχνά προκύπτουν καταστάσεις στις οποίες η εκτέλεση του κώδικα που περιέχεται στο σώμα του βρόχου είναι υποχρεωτική τουλάχιστον μία φορά, ανεξάρτητα από την αλήθεια της υπό όρους έκφρασης. Με άλλα λόγια, συμβαίνει να απαιτείται ο έλεγχος της αλήθειας μιας υπό όρους έκφρασης όχι στην αρχή, αλλά στο τέλος του κύκλου. Μια παραλλαγή του βρόχου while που ονομάζεται do-while μπορεί να παρέχει αυτή τη λειτουργικότητα. Έχει την ακόλουθη μορφή:

κάνω {
// κύκλος σώματος

} ενώ (κατάσταση)

Όπως μπορούμε να δούμε, πρώτα το σώμα του βρόχου πηγαίνει στην εκτέλεση και μόνο τότε ελέγχεται η αλήθεια της κατάστασης - και ούτω καθεξής σε κάθε επανάληψη.

παραδείγματα java loop

Ο παραπάνω κωδικός θα λειτουργήσει έτσιτο ίδιο με ένα κανονικό διάστημα. Ωστόσο, εάν είχαμε αντιστοιχίσει την τιμή 11 στη μέτρηση μεταβλητών, το σώμα του βρόχου θα εξακολουθούσε να εκτελείται μία φορά πριν ο χειριστής μπορούσε να ελέγξει την έκφραση ως αληθής.

Περιγραφή και παραδείγματα για - Java loop

Το for loop είναι ευέλικτο καιμια αποτελεσματική μορφή γλώσσας στην Java. Πριν από την πέμπτη έκδοση του Java SDK, υπήρχε μόνο μια παραδοσιακή μορφή του για δήλωση και στη συνέχεια εμφανίστηκε μια νέα - για κάθε. Σε αυτήν την ενότητα, θα εξοικειωθούμε με την παραδοσιακή φόρμα χειριστή. για Java ο βρόχος μοιάζει με αυτό:

για βρόχο java

Πριν από τον έλεγχο μεταφερθεί στον κωδικό του σώματοςloop, πρώτα η μεταβλητή i αρχικοποιείται για να λειτουργεί ως μετρητής Στη συνέχεια, ελέγχεται μια παράσταση υπό όρους, στην οποία ο μετρητής συγκρίνεται με μια συγκεκριμένη τιμή και αν επιστρέψει αληθές, εκτελείται το σώμα του βρόχου. Στη συνέχεια, η τιμή μετρητή αλλάζει με ένα προκαθορισμένο βήμα και η έκφραση υπό όρους ελέγχεται ξανά, και ούτω καθεξής έως ότου η συνθήκη γίνει εσφαλμένη. Το διάγραμμα ροής παρακάτω απεικονίζει όλα τα στάδια του κύκλου.

για βρόχο java

Για καλύτερη κατανόηση, ακολουθεί ένα παράδειγμα του τρόπου λειτουργίας του Java loop:

για βρόχο java

Βλέπουμε ότι ο μετρητής χρησιμοποιείταιμεταβλητή loopVal. Μετά από κάθε επανάληψη του βρόχου, η τιμή του θα αυξηθεί κατά 1, και αυτό θα συνεχιστεί μέχρι να φτάσει στο 11. Σημειώστε ότι η μεταβλητή ελέγχου μπορεί να δηλωθεί έξω από το για τη δήλωση, αλλά εάν δεν πρόκειται να χρησιμοποιήσετε αυτήν τη μεταβλητή οπουδήποτε εκτός από ένα βρόχο, συνιστάται να το δηλώσετε απευθείας στη δήλωση. Λάβετε υπόψη ότι μια μεταβλητή που δηλώνεται στην ίδια τη δήλωση βρίσκεται εντός του ίδιου του βρόχου.

Υπάρχουν καταστάσεις όταν πρέπει να δηλώσετεπολλές μεταβλητές που ελέγχουν τον βρόχο. Για την Java, ένας βρόχος σάς επιτρέπει να καθορίσετε δύο ή περισσότερες μεταβλητές διαχωρισμένες με κόμματα, και αυτό μπορεί να γίνει τόσο κατά την αρχικοποίηση όσο και κατά την επανάληψη. Ένας τέτοιος χειριστής θα μοιάζει με αυτό:

για (int i = 1, int j = 10; i <j; ++ i, --j) {}

Με κάθε επανάληψη, η τιμή της μεταβλητής i θα αυξηθεί κατά 1, και η τιμή της μεταβλητής j θα μειωθεί κατά 1. Οι επαναλήψεις θα πραγματοποιηθούν έως ότου το i είναι μεγαλύτερο από ή ίσο με το j.

Χαρακτηριστικά της χρήσης του χειριστή

Το for loop είναι αρκετά ευέλικτοκατασκευή, καθώς και τα τρία μέρη του (αρχικοποίηση, κατάσταση και αύξηση / μείωση) μπορούν να χρησιμοποιηθούν εκτός ετικέτας. Για παράδειγμα, αντί για μια υπό όρους έκφραση με μια μεταβλητή ελέγχου, μπορείτε να αντικαταστήσετε οποιαδήποτε δυαδική μεταβλητή.

boolean exit = false;

για (int i = 0 ;! έξοδος; ++ i) {

έξοδος = αλήθεια;

}}

Στο παραπάνω παράδειγμα, μπορούμε να παρατηρήσουμε πώς λειτουργείΟ βρόχος είναι απολύτως ανεξάρτητος από τη μεταβλητή ελέγχου i και ο αριθμός των επαναλήψεων εξαρτάται αποκλειστικά από τη στιγμή κατά την οποία η μεταβλητή έξοδος γίνεται πραγματικότητα. Επιπλέον, η μεταβλητή ελέγχου μπορεί να αφαιρεθεί εντελώς από το βρόχο και αυτό δεν θα επηρεάσει τη λειτουργία της με κανέναν τρόπο: για (;! Έξοδος;) {}. Αν και δεν είναι ο πιο έξυπνος τρόπος προγραμματισμού, μπορεί μερικές φορές να είναι χρήσιμος. Το κύριο πράγμα είναι να προβλεφθεί μια κατάσταση στην οποία η μεταβλητή θα λάβει την απαραίτητη τιμή για να βγεί από το βρόχο, ώστε να μην μετατραπεί σε άπειρη.

Για Java, μπορεί να δηλωθεί ένας βρόχοςτρόπος: για (;;;) {}. Αυτό είναι ένα τυπικό παράδειγμα ενός άπειρου βρόχου με ειδικές συνθήκες διακοπής. Θα μιλήσουμε για τον τρόπο διακοπής τέτοιων κύκλων λίγο αργότερα.

Για κάθε βρόχο

Το Java foreach loop ισχύει πάντα γιαεπανάληψη των στοιχείων ενός πίνακα ή κάποια δομή δεδομένων και εκτέλεση ορισμένων επαναλαμβανόμενων λειτουργιών σε αυτά. Ένα παράδειγμα αυτής της μορφής της δήλωσης εμφανίζεται παρακάτω:

java βρόχου foreach

Η μεταβλητή επανάληψης δηλώνεταιόνομα, και ο προηγουμένως δηλωμένος πίνακας ονομάτων συμβολοσειρών ενεργεί ως το δεύτερο όρισμα για τον χειριστή. Το όνομα της μεταβλητής θα πάρει τις τιμές κάθε στοιχείου του πίνακα με τη σειρά του μέχρι να ανακτηθούν όλα τα στοιχεία του. Πρέπει να σημειωθεί ότι ο τύπος της μεταβλητής πρέπει να είναι συμβατός με τον τύπο των στοιχείων που είναι αποθηκευμένα στον πίνακα. Επίσης, η μεταβλητή ονόματος είναι διαθέσιμη αποκλειστικά για ανάγνωση και μια προσπάθεια να την αλλάξει δεν θα αλλάξει το ίδιο το στοιχείο στον πίνακα.

Βρόχος διακοπής δηλώσεις

Υπάρχουν τρεις δηλώσεις διακοπής βρόχου:διάλειμμα, επιστροφή και συνέχεια. Τα δύο πρώτα μπορούν να διακόψουν εντελώς το έργο του βρόχου, ενώ συνεχίζουν να διακόπτουν μόνο το έργο της τρέχουσας επανάληψης. Εάν χρησιμοποιείτε σκόπιμα έναν άπειρο βρόχο Java στον κώδικά σας, αυτοί οι χειριστές πρέπει να είναι παρόντες σε αυτόν. Ας δούμε ένα απλό παράδειγμα χρήσης διακοπής:

έξοδος βρόχου java

Αν και αυτό για τη δήλωση παρέχει 11 επαναλήψεις, μόνο 8 θα εκτελεστούν, επειδή όταν ο μετρητής i είναι 7, θα ενεργοποιηθεί η συνθήκη με τη δήλωση διακοπής στο σώμα.

Η δήλωση επιστροφής ενεργεί με παρόμοιο τρόπο, με τη διαφορά ότι όχι μόνο βγαίνει από τον βρόχο Java, αλλά και βγαίνει από τη μέθοδο στην οποία τοποθετείται ο βρόχος.

Χρησιμοποιώντας το διάλειμμα ως goto

Λάβετε υπόψη ότι η διακοπή διακόπτεταιμόνο ο κύκλος στο σώμα του οποίου βρίσκεται άμεσα, δηλαδή εάν το χρησιμοποιήσετε σε ένθετο βρόχο, τότε ο εξωτερικός βρόχος δεν θα τερματιστεί. Για αυτό, η δήλωση διακοπής μπορεί να χρησιμοποιηθεί ως πολιτισμένη μορφή του goto.

Σε αυτήν την παραλλαγή, αυτός ο τελεστής χρησιμοποιείται στοσε συνδυασμό με μια ετικέτα, η οποία σας επιτρέπει να οργανώσετε μια έξοδο όχι μόνο από βρόχους, αλλά και από οποιοδήποτε μπλοκ κώδικα. Μια ετικέτα είναι ένα σωστά αναγνωρισμένο αναγνωριστικό ακολουθούμενο από άνω και κάτω τελεία. Η ετικέτα δηλώνεται στην αρχή του μπλοκ κώδικα που θα επισημανθεί. Για να διακόψετε την εκτέλεση ενός μαρκαρισμένου μπλοκ, πρέπει να δηλώσετε στη σωστή θέση: break tag_name. Εξετάστε το παράδειγμα στο παρακάτω σχήμα:

άπειρος βρόχος java

Ο κωδικός δηλώνει τρία μπλοκ με τα ονόματα των ετικετών One,Δύο και τρία, αντίστοιχα. Η δήλωση διακοπής με την ένδειξη Two είναι ένθετη και στα τρία μπλοκ, αλλά όταν ενεργοποιηθεί, το πρόγραμμα θα βγεί από το Three and Two και θα συνεχίσει την εκτέλεση στο One. Εκείνοι. θα δούμε δύο μηνύματα στην κονσόλα: Three και One.

Συμπέρασμα

Γνωρίσαμε την ιδέα των βρόχων στην Java,τον κύριο χρόνο και για τις δηλώσεις, καθώς και τη λήξη και για κάθε φόρμα, αντίστοιχα Για καλύτερη κατανόηση, προτείνουμε να κάνετε ασκήσεις χρησιμοποιώντας αυτούς τους χειριστές σε διάφορες μορφές, καθώς και διάφορους τρόπους διακοπής και μετακίνησης από το ένα μπλοκ στο άλλο.

Αρέσει:
0
Δημοφιλή μηνύματα
Πνευματική Ανάπτυξη
Φαγητό
yup