English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste artigo, você aprenderá a usar a sentença continue para transferir o controle do programa.
Ao usar loops ou instruções condicionais, pode ser necessário pular algumas instruções dentro do loop ou interromper o loop imediatamente, sem verificar a expressão de teste.
Neste caso, serão usadas as sentenças break e continue. Acesse esta página para saber mais sobreSentença breakMais informações.
A sentença continue interrompe a execução do loop ou das instruções dentro do switch e, em seguida, pula de volta para avaliar novamente a expressão de teste do loop.
A sintaxe da sentença continue é:
continue
for i in 1...5 { if i == 4 { continue } print("i = \(i)") }
Quando o programa é executado, a saída é:
i = 1 i = 2 i = 3 i = 5
No programa acima, o intervalo da sequência que será iterada é1até5.
O valor de i é configurado para range(1) do primeiro número, e é atualizado para o próximo número da faixa em cada iteração.
O loop também contém a expressão i = = 4da instrução if. Quando o valor da expressão for true (no4na próxima iteração) executar a instrução continue, pular a execução da instrução print("i = \(i)") e passar para a próxima iteração (i = 5)。
var intialLevel:Int = -5, finalLevel:Int = 2 var currentLevel:Int = intialLevel while currentLevel < finalLevel { if intialLevel < 0 { print("O nível inicial deve ser um número positivo") intialLevel = 0 currentLevel = intialLevel continue //Pula a execução atual } currentLevel += 1 print("próximo nível") } print("Fora do loop while")
Quando o programa é executado, a saída é:
O nível inicial deve ser um número positivo próximo nível próximo nível Fora do loop while
No programa acima, o loop while roda até que currentLevel seja menor que finalLevel. Devido ao valor atribuído a intialLevel-5E menor que 0, portanto, executa a instrução interna if.
Quando o programa atingir a instrução continue, ele pula as instruções do loop while e depois volta para verificar novamente a condição currentLevel<finalLevel.
for j in 1...2 { for i in 1...5 { if i == 4 { continue } print("i = \(i)") } print("j = \(j)") }
Quando o programa é executado, a saída é:
i = 1 i = 2 i = 3 i = 5 j = 1 i = 1 i = 2 i = 3 i = 5
No programa acima, se i==4A instrução continue dentro do loop só pula a execução da instrução print("i=\(i)") dentro do loop for. No entanto, ela não pula o for i in 1...5 Execução do loop externo.
Mas e se você também quiser continuar o loop externo? Para isso, você precisa usar instruções com etiqueta no Swift.
As instruções com prefixo no formato (label: Statement) são chamadas de instruções com etiqueta. A etiqueta é um identificador que você pode referenciar mais tarde em instruções break ou continue.
Aqui, label é um identificador. Quando a instrução continue é executada, o programa pula o resto do loop coe e salta para a instrução começando com label.
outerloop: for j in 1...2 { innerloop: for i in 1...5 { if i == 4 { continue outerloop } print("i = \(i)") } print("j = \(j)") }
Quando o programa é executado, a saída é:
i = 1 i = 2 i = 3 i = 1 i = 2 i = 3
No programa acima, há duas sentenças marcadas outerloop: for j in 1...2 e innerloop: for i in 1...5.
Os nomes de rótulo outerloop e innerloop podem ser usados com a sentença continue.
No programa, usamos a sentença continue outerloop para pular a execução de sentenças dentro de loops internos e externos. Durante esse processo, os valores de i e j serão atualizados para o próximo número no intervalo.