Συνεχίστε το Kotlin (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθετε να χρησιμοποιείτε συνεχίστε για να παραλείψετε την τρέχουσα επανάληψη ενός βρόχου. Επίσης, θα μάθετε επίσης για τη συνέχιση των ετικετών σε αυτό το άρθρο.

Ας υποθέσουμε ότι εργάζεστε με βρόχους. Μερικές φορές είναι επιθυμητό να παραλείψετε την τρέχουσα επανάληψη του βρόχου.

Σε αυτήν την περίπτωση, continueχρησιμοποιείται. Η continueκατασκευή παραλείπει την τρέχουσα επανάληψη του βρόχου εγκλεισμού και ο έλεγχος του προγράμματος μεταβαίνει στο τέλος του σώματος του βρόχου.

Πώς λειτουργεί η συνέχεια;

Χρησιμοποιείται σχεδόν πάντα με αν… αλλιώς κατασκευή. Για παράδειγμα,

 ενώ (testExpression1) (// κωδικοί1 εάν (testExpression2) (συνέχεια) // κωδικοί2)

Εάν αξιολογηθεί το testExpression2 true, continueεκτελείται που παραλείπει όλους τους κωδικούς εντός του whileβρόχου μετά από αυτόν για αυτήν την επανάληψη.

Παράδειγμα: Συνεχίστε το Kotlin

 fun main(args: Array) ( for (i in 1… 5) ( println("$i Always printed.") if (i> 1 && i < 5) ( continue ) println("$i Not always printed.") ) )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

1 Εκτυπώνεται πάντα. 1 Δεν εκτυπώνεται πάντα. 2 Εκτυπώνεται πάντα. 3 Εκτυπώνεται πάντα. 4 Εκτυπώνεται πάντα. 5 Εκτυπώνεται πάντα. 5 Δεν εκτυπώνεται πάντα.

Όταν η τιμή του i είναι μεγαλύτερη από 1 και μικρότερη από 5, continueεκτελείται, η οποία παραλείπει την εκτέλεση του

 println ("$ i Δεν εκτυπώνεται πάντα.")

δήλωση.

Ωστόσο, η δήλωση

 println ("$ i Πάντα τυπωμένο.")

εκτελείται σε κάθε επανάληψη του βρόχου, επειδή αυτή η δήλωση υπάρχει πριν από την continueκατασκευή.

Παράδειγμα: Υπολογίστε μόνο το άθροισμα των θετικών αριθμών

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

Επισκεφτείτε το Kotlin Basic Input Output για να μάθετε περισσότερα σχετικά με τον τρόπο λήψης πληροφοριών από τον χρήστη.

 fun main(args: Array) ( var number: Int var sum = 0 for (i in 1… 6) ( print("Enter an integer: ") number = readLine()!!.toInt() if (number <= 0) continue sum += number ) println("sum = $sum") )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Εισαγάγετε έναν ακέραιο: 4 Εισαγάγετε έναν ακέραιο: 5 Εισαγάγετε έναν ακέραιο: -50 Εισαγάγετε έναν ακέραιο: 10 Εισαγάγετε έναν ακέραιο: 0 Εισαγάγετε έναν ακέραιο: 0 Εισαγάγετε έναν ακέραιο: 12 άθροισμα = 31

Η ετικέτα Kotlin συνεχίζεται

Αυτό που έχετε μάθει μέχρι τώρα είναι μη επισημασμένη μορφή continue, η οποία παραλείπει την τρέχουσα επανάληψη του κοντινότερου βρόχου εγκλεισμού. continueμπορεί επίσης να χρησιμοποιηθεί για να παραλείψει την επανάληψη του επιθυμητού βρόχου (μπορεί να είναι εξωτερικός βρόχος) χρησιμοποιώντας continueετικέτες.

Πώς λειτουργεί η ετικέτα "Συνέχεια";

Η ετικέτα στο Kotlin ξεκινά με ένα αναγνωριστικό που ακολουθείται από @.

Εδώ, το outerloop @ είναι μια ετικέτα που επισημαίνεται στο εξωτερικό while loop. Τώρα, χρησιμοποιώντας continueμε την ετικέτα ( continue@outerloopσε αυτήν την περίπτωση), μπορείτε να παραλείψετε την εκτέλεση κωδικών του συγκεκριμένου βρόχου για αυτήν την επανάληψη.

Παράδειγμα: με ετικέτα συνέχεια

 fun main(args: Array) ( here@ for (i in 1… 5) ( for (j in 1… 4) ( if (i == 3 || j == 2) continue@here println("i = $i; j = $j") ) ) )

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1

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

Υπάρχουν 3 εκφράσεις διαρθρωτικές άλμα στην Kotlin: break, continueκαι return. Για να μάθετε breakκαι να returnεκφράσετε, επισκεφθείτε:

  • Διάλειμμα Κότλιν
  • Συνάρτηση Kotlin

ενδιαφέροντα άρθρα...