Loop é usado na programação para repetir um bloco específico de código. Neste artigo, você aprenderá a criar while e fazer … while loops na programação Kotlin.
O loop é usado na programação para repetir um bloco específico de código até que uma determinada condição seja atendida (a expressão de teste é false)
.
Os loops são o que torna os computadores máquinas interessantes. Imagine que você precise imprimir uma frase 50 vezes na tela. Bem, você pode fazer isso usando a instrução print 50 vezes (sem usar loops). Que tal você precisar imprimir uma frase um milhão de vezes? Você precisa usar loops.
Você aprenderá sobre dois loops while
e do… while
neste artigo com a ajuda de exemplos.
Se você está familiarizado com os loops while e faz … while no Java, você também já está familiarizado com esses loops no Kotlin.
Kotlin while Loop
A sintaxe do while
loop é:
while (testExpression) (// códigos dentro do corpo do loop while)
Como funciona o loop while?
A expressão de teste entre parênteses é uma expressão booleana.
Se a expressão de teste for avaliada como true
,
- instruções dentro do loop while são executadas.
- então, a expressão de teste é avaliada novamente.
Esse processo continua até que a expressão de teste seja avaliada como false
.
Se a expressão de teste for avaliada como false
,
- enquanto o loop é encerrado.
Fluxograma do loop while
Exemplo: Kotlin while Loop
// Programa para imprimir a linha 5 vezes fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )
Quando você executa o programa, a saída será:
Linha 1 Linha 2 Linha 3 Linha 4 Linha 5
Observe, ++i
declaração dentro do while
loop. Após 5 iterações, a variável i será incrementada para 6. Em seguida, a expressão de teste i <= 5
é avaliada para false
e o loop termina.
Se o corpo do loop tiver apenas uma instrução, não é necessário usar chaves ( )
.
Exemplo: calcular a soma dos números naturais
// 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") )
Quando você executa o programa, a saída será:
soma = 5050
Aqui, a soma da variável é inicializada com 0 ei é inicializada com 100. Em cada iteração do loop while, a soma da variável é atribuída sum + i
e o valor de i é diminuído em 1 até que i seja igual a 0. Para melhor visualização,
1ª iteração: soma = 0 + 100 = 100, i = 99 2ª iteração: soma = 100 + 99 = 199, i = 98 3ª iteração: soma = 199 + 98 = 297, i = 97…… 99ª iteração: soma = 5047 +2 = 5049, i = 1 100ª iteração: soma = 5049 + 1 = 5050, i = 0 (então o loop termina)
Para aprender mais sobre a expressão de teste e como ela é avaliada, visite comparação e operadores lógicos.
Kotlin do … enquanto Loop
O do… while
loop é semelhante ao while
loop com uma diferença fundamental. O corpo do do… while
loop é executado uma vez antes de a expressão de teste ser verificada.
Sua sintaxe é:
do (// códigos dentro do corpo do loop do while) while (testExpression);
Como… o loop while funciona?
Os códigos dentro do corpo da do
construção são executados uma vez (sem verificar o testExpression). Em seguida, a expressão de teste é verificada.
Se a expressão de teste for avaliada como true
, os códigos dentro do corpo do loop serão executados e a expressão de teste será avaliada novamente. Esse processo continua até que a expressão de teste seja avaliada como false
.
Quando a expressão de teste é avaliada como false
, o do… while
loop termina.
Fluxograma de do … while Loop
Exemplo: Kotlin do … while Loop
O programa abaixo calcula a soma dos números inseridos pelo usuário até que o usuário insira 0.
Para obter a entrada do usuário, a readline()
função é usada. Leitura recomendada: entrada básica do 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") )
Quando você executa o programa, a saída será algo como:
Insira um número inteiro: 4 Insira um número inteiro: 3 Insira um número inteiro: 2 Insira um número inteiro: -6 Insira um número inteiro: 0 soma = 3