Kotlin continua (Cu exemple)

În acest tutorial, veți învăța să utilizați continuare pentru a sări iterația curentă a unei bucle. De asemenea, veți afla și despre etichetele de continuare în acest articol.

Să presupunem că lucrați cu bucle. Uneori este de dorit să omiteți iterația curentă a buclei.

În acest caz, continuese folosește. continueConstructul sare peste iterația curentă a buclei de închidere, precum și controlul programului sare la capătul corpului buclei.

Cum se continuă lucrările?

Este aproape întotdeauna folosit cu if … else construct. De exemplu,

 while (testExpression1) (// codes1 if (testExpression2) (continuare) // codes2)

Dacă testExpression2 este evaluat la true, continuese execută care omite toate codurile din whilebuclă după el pentru acea iterație.

Exemplu: Kotlin continuă

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

Când rulați programul, ieșirea va fi:

1 Imprimat întotdeauna. 1 Nu întotdeauna tipărit. 2 Întotdeauna tipărit. 3 Imprimat întotdeauna. 4 Imprimat întotdeauna. 5 Întotdeauna tipărit. 5 Nu întotdeauna tipărit.

Când valoarea lui i este mai mare de 1 și mai mică de 5, continuese execută, ceea ce omite executarea

 println ("$ i Nu întotdeauna tipărit.")

afirmație.

Cu toate acestea, declarația

 println ("$ i întotdeauna tipărit.")

este executat în fiecare iterație a buclei deoarece această instrucțiune există înainte de continueconstrucție.

Exemplu: Calculați doar suma sumelor pozitive

Programul de mai jos calculează suma a maximum 6 numere pozitive introduse de utilizator. Dacă utilizatorul introduce un număr negativ sau zero, acesta este omis de la calcul.

Accesați Kotlin Basic Input Output pentru a afla mai multe despre cum să primiți date de la utilizator.

 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") )

Când rulați programul, ieșirea va fi:

 Introduceți un număr întreg: 4 Introduceți un număr întreg: 5 Introduceți un număr întreg: -50 Introduceți un număr întreg: 10 Introduceți un număr întreg: 0 Introduceți un număr întreg: 12 sumă = 31

Kotlin Labeled continuă

Ceea ce ați învățat până acum este o formă neetichetată continue, care omite iterația curentă a celei mai apropiate bucle de închidere. continuepoate fi, de asemenea, utilizat pentru a sări iterația buclei dorite (poate fi buclă exterioară) folosind continueetichete.

Cum funcționează etichetarea continuă?

Eticheta din Kotlin începe cu un identificator care este urmat de @.

Aici, outerloop @ este o etichetă marcată la bucla while exterioară. Acum, utilizând continuecu eticheta ( continue@outerloopîn acest caz), puteți sări peste execuția codurilor buclei specifice pentru acea iterație.

Exemplu: etichetat continuă

 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") ) ) )

Când rulați programul, ieșirea va fi:

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

Utilizarea etichetelor continueeste adesea descurajată, deoarece face codul dvs. greu de înțeles. Dacă vă aflați într-o situație în care trebuie să utilizați etichetat continue, refacturați codul și încercați să îl rezolvați într-un mod diferit pentru a-l face mai ușor de citit.

Există 3 expresii salt structurale în Kotlin: break, continueși return. Pentru a afla despre breakși returnexprimare, vizitați:

  • Pauza Kotlin
  • Funcția Kotlin

Articole interesante...