Ο βρόχος χρησιμοποιείται στον προγραμματισμό για την επανάληψη συγκεκριμένου μπλοκ κώδικα. Σε αυτό το άρθρο, θα μάθετε να δημιουργείτε και να κάνετε… ενώ κάνετε βρόχους στον προγραμματισμό του Kotlin.
Ο βρόχος χρησιμοποιείται στον προγραμματισμό για την επανάληψη ενός συγκεκριμένου μπλοκ κώδικα έως ότου ικανοποιηθεί μια συγκεκριμένη συνθήκη (η δοκιμαστική έκφραση είναι false)
.
Οι βρόχοι είναι αυτό που κάνει τους υπολογιστές ενδιαφέροντα μηχανήματα. Φανταστείτε ότι πρέπει να εκτυπώσετε μια πρόταση 50 φορές στην οθόνη σας. Λοιπόν, μπορείτε να το κάνετε χρησιμοποιώντας τη δήλωση εκτύπωσης 50 φορές (χωρίς να χρησιμοποιήσετε βρόχους). Τι λες για να εκτυπώσεις μια πρόταση ένα εκατομμύριο φορές; Πρέπει να χρησιμοποιήσετε βρόχους.
Θα μάθετε για δύο βρόχους while
και do… while
σε αυτό το άρθρο με τη βοήθεια παραδειγμάτων.
Εάν είστε εξοικειωμένοι με το καιρό και κάνετε… ενώ κάνετε βρόχους στην Java, γνωρίζετε ήδη και αυτούς τους βρόχους στο Kotlin.
Kotlin ενώ Loop
Η σύνταξη του while
βρόχου είναι:
while (testExpression) (// κωδικοποιεί το σώμα του while loop)
Πώς λειτουργεί ενώ ο βρόχος;
Η δοκιμαστική έκφραση μέσα στην παρένθεση είναι μια έκφραση Boolean.
Εάν η δοκιμαστική έκφραση αξιολογηθεί σε true
,
- εκτελούνται δηλώσεις εντός του loop loop.
- τότε, η δοκιμαστική έκφραση αξιολογείται ξανά.
Αυτή η διαδικασία συνεχίζεται έως ότου αξιολογηθεί η δοκιμαστική έκφραση false
.
Εάν η δοκιμαστική έκφραση αξιολογηθεί σε false
,
- ενώ ο βρόχος τερματίζεται.
Διάγραμμα ροής του Loop
Παράδειγμα: Kotlin while Loop
// Πρόγραμμα εκτύπωσης γραμμής 5 φορές fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
Γραμμή 1 Γραμμή 2 Γραμμή 3 Γραμμή 4 Γραμμή 5
Παρατηρήστε, ++i
δήλωση μέσα στον while
βρόχο. Μετά από 5 επαναλήψεις, η μεταβλητή i θα αυξηθεί σε 6. Έπειτα, η δοκιμαστική έκφραση i <= 5
αξιολογείται false
και ο βρόχος τελειώνει.
Εάν το σώμα του βρόχου έχει μόνο μία δήλωση, δεν είναι απαραίτητο να χρησιμοποιήσετε σγουρά τιράντες ( )
.
Παράδειγμα: Υπολογίστε το άθροισμα των φυσικών αριθμών
// Program to compute the sum of natural numbers from 1 to 100. fun main(args: Array) ( var sum = 0 var i = 100 while (i != 0) ( sum += i // sum = sum + i; --i ) println("sum = $sum") )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:
άθροισμα = 5050
Εδώ, το μεταβλητό άθροισμα αρχικοποιείται στο 0 και το i αρχικοποιείται στο 100. Σε κάθε επανάληψη του while loop, αντιστοιχεί το μεταβλητό άθροισμα sum + i
και η τιμή του i μειώνεται κατά 1 έως το i είναι ίσο με 0. Για καλύτερη οπτικοποίηση,
1η επανάληψη: άθροισμα = 0 + 100 = 100, i = 99 2η επανάληψη: άθροισμα = 100 + 99 = 199, i = 98 3η επανάληψη: άθροισμα = 199 + 98 = 297, i = 97…… 99η επανάληψη: άθροισμα = 5047 +2 = 5049, i = 1 100η επανάληψη: άθροισμα = 5049 + 1 = 5050, i = 0 (τότε ο βρόχος τερματίζεται)
Για να μάθετε περισσότερα σχετικά με την έκφραση της δοκιμής και τον τρόπο αξιολόγησής της, επισκεφθείτε τη σύγκριση και τους λογικούς τελεστές.
Ο Kotlin κάνει … ενώ ο Loop
Ο do… while
βρόχος είναι παρόμοιος με τον while
βρόχο με μία διαφορά κλειδιού. Το σώμα του do… while
βρόχου εκτελείται μία φορά πριν ελεγχθεί η δοκιμαστική έκφραση.
Η σύνταξή του είναι:
do (// κωδικοί στο σώμα του do while loop) ενώ (testExpression);
Πώς… ενώ λειτουργεί ο βρόχος;
Οι κωδικοί μέσα στο σώμα του do
κατασκευάσματος εκτελούνται μία φορά (χωρίς έλεγχο του testExpression). Στη συνέχεια, ελέγχεται η έκφραση της δοκιμής.
Εάν η δοκιμαστική έκφραση αξιολογηθεί true
, εκτελούνται κωδικοί εντός του σώματος του βρόχου και η δοκιμαστική έκφραση αξιολογείται ξανά. Αυτή η διαδικασία συνεχίζεται έως ότου αξιολογηθεί η δοκιμαστική έκφραση false
.
Όταν αξιολογείται η δοκιμαστική έκφραση false
, ο do… while
βρόχος τερματίζεται.
Διάγραμμα ροής του do … while Loop
Παράδειγμα: Το Kotlin κάνει… ενώ το Loop
Το παρακάτω πρόγραμμα υπολογίζει το άθροισμα των αριθμών που εισήγαγε ο χρήστης έως ότου ο χρήστης εισέλθει στο 0.
Για να λάβετε πληροφορίες από τον χρήστη, readline()
χρησιμοποιείται η λειτουργία. Συνιστώμενη ανάγνωση: Βασική είσοδος Kotlin
fun main(args: Array) ( var sum: Int = 0 var input: String do ( print("Enter an integer: ") input = readLine()!! sum += input.toInt() ) while (input != "0") println("sum = $sum") )
Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι όπως:
Εισαγάγετε έναν ακέραιο: 4 Εισαγάγετε έναν ακέραιο: 3 Εισαγάγετε έναν ακέραιο: 2 Εισαγάγετε έναν ακέραιο: -6 Εισαγάγετε έναν ακέραιο: 0 άθροισμα = 3