break e continue
Faça o laço de i de 1 a 5. Quando i for igual a 3, saia do laço com break antes de escrever. A tela deve mostrar só duas linhas: 1, depois 2. Essa parada cedo é uma ferramenta desta página. A outra ferramenta é continue, que pula uma passagem e depois segue o laço, para que 3 nunca escreva, mas 4 e 5 ainda escrevam. Mantenha a classe pública com o nome Pine.
break termina o laço cedo
Abra o arquivo Pine. O nome da classe continua Pine. Esta página não renomeia o tipo. Apague qualquer while simples que só conta se essa forma ainda estiver lá. Apague um for simples sem um if que para cedo se quiser só os demos desta página. Apague qualquer linha ReadLine. O arquivo que você guarda não espera digitação, e a tela só é escrita pela linha de escrita que roda quando o if é false.
Dentro de Main, escreva um for que possa parar cedo:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
break;
}
Console.WriteLine(i);
}
O cabeçalho do for é a mesma forma que você já conhece: início, teste, passo. Dentro das chaves, um if pergunta se i é igual a 3. Quando isso é true, break; roda. break deixa o laço for inteiro de uma vez. A linha de escrita abaixo do if não roda nessa passagem, e i nunca chega a 4 ou 5 dentro deste laço. Quando i é 1 ou 2, o if é false, então Console.WriteLine(i) escreve o número. Salve o arquivo.
O arquivo que você guarda
Mantenha esta forma de ensino. Um for de 1 a 5. Um if (i == 3) que roda break;. Uma linha de escrita depois do if que escreve o nome nu i. No arquivo que você guarda não há continue, e não há aspas em volta de break.
using System;
public class Pine
{
public static void Main()
{
for (int i = 1; i <= 5; i = i + 1)
{
if (i == 3)
{
break;
}
Console.WriteLine(i);
}
}
}
Leia de cima. using System; prepara nomes curtos. public class Pine nomeia o tipo. public static void Main() é onde o runtime começa. O for caminha i de 1 em direção a 5. Quando i é 3, break; termina o laço. Duas linhas na tela: 1, depois 2. Não há terceira linha.
Execute com dotnet run. O programa escreve duas linhas e para. Não espera você digitar. Se dotnet run esperar, ReadLine ainda está no arquivo. Apague essa linha e mantenha o for com break acima. A tela mostra 1, depois 2. Se a tela mostrar cinco linhas, o break falta ou o if nunca casa. Se a tela mostrar a palavra break como letras, uma linha de escrita tem aspas em volta dessa palavra. Você não reinstala o SDK .NET por uma tela que mostra as linhas erradas.
Percorra a execução do break em ordem. i começa em 1. O if é false, então a linha de escrita escreve 1. O passo guarda 2. O if é false, então a linha de escrita escreve 2. O passo guarda 3. Agora i == 3 é true, então break roda e o for termina. Nada escreve para 3, 4 ou 5. Um laço simples sem break teria escrito cinco linhas; break cortou o laço curto depois de duas escritas. O passo não roda depois do break nessa passagem, e o teste não é perguntado de novo, porque o laço já acabou.
continue pula uma passagem
Mude o corpo para que continue substitua break, e mantenha a linha de escrita depois do if:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
continue;
}
Console.WriteLine(i);
}
Quando i é igual a 3, continue; pula o resto dessa passagem — inclusive a linha de escrita — e o for segue para o passo e o próximo teste. O próprio laço não termina. A tela deve mostrar quatro linhas: 1, 2, 4 e 5. O buraco é onde 3 teria estado.
using System;
public class Pine
{
public static void Main()
{
for (int i = 1; i <= 5; i = i + 1)
{
if (i == 3)
{
continue;
}
Console.WriteLine(i);
}
}
}
Este é o segundo arquivo. Não é o arquivo que você guarda. Execute dotnet run. A tela mostra quatro linhas. Você não mudou o cabeçalho do for — só break virou continue. Depois de ver quatro linhas, coloque de volta o arquivo guardado: break dentro do if. As duas versões são C# válido. Ensinam dois movimentos cedo diferentes dentro da mesma forma de laço.
Leia a execução do continue mais uma vez. i vai 1, 2, 3, 4, 5. Para 1 e 2 o if é false e os números escrevem. Para 3 continue pula a linha de escrita. Para 4 e 5 os números escrevem de novo. O laço ainda termina na parada normal quando i vira 6. continue nunca termina o for; só pula o resto de uma passagem. Depois do continue, o for ainda roda o passo i = i + 1, então o contador continua se movendo mesmo que aquela passagem não tenha escrito.
📊 tool and the screen
| Tool at i == 3 | Screen |
|---|---|
| break | 1 then 2 |
| continue | 1 then 2 then 4 then 5 |
Use a tabela como checagem depois de uma execução, não no lugar de uma. break deixa duas linhas. continue deixa quatro linhas com 3 ausente. Se 3 ainda aparecer quando você quis dizer continue, a linha de escrita provavelmente está acima do if — mova Console.WriteLine(i) para baixo do continue para que o pulo a alcance. Corrija a ordem em vez de reinstalar o SDK .NET.
Regras que mantêm as duas ferramentas claras
break e continue pertencem ao corpo de um laço. Escrever break; sozinho em Main sem um for ou while envolvente faz o build escrever um erro. O mesmo vale para continue;. Nesta página um if escolhe o momento: quando i é igual a 3. Você pode escrever outros testes depois; os demos mantêm i == 3 para a mudança na tela ser fácil de ver.
break não é continue. break termina o laço. continue pula uma passagem e fica no laço. O break dentro de um switch numa página anterior termina um case; aqui a estrutura envolvente é um for. Não deixe um while simples que só conta, ou um for simples sem if, no mesmo Main e se pergunte por que todo número de 1 a 5 ainda escreve. O Main desta sessão deve guardar o for mais o if com break ou continue.
Uma confusão comum é escrever a própria palavra: Console.WriteLine("break");. Isso escreve os caracteres break. Não para um laço. Outra confusão é colocar Console.WriteLine(i); antes do if que guarda continue, então 3 ainda escreve e depois continue roda sem nada restante para pular. Mantenha a linha de escrita depois do if nos dois demos. Se você escrever continue sem um laço envolvente, o build escreve um erro; o mesmo acontece para um break sozinho fora de qualquer laço. Estas duas palavras só fazem sentido dentro do corpo de um laço na forma desta lição.
Agora você pode colocar break dentro de um laço para sair cedo, ou continue para pular uma passagem e seguir. Um if pode escolher quando isso acontece. A página seguinte é foreach, onde um laço percorre cada valor numa coleção sem escrever o início, o teste e o passo à mão da mesma forma.
A tela é o movimento cedo
O arquivo que você guarda escreve 1, depois 2. A palavra break está no arquivo, e break não está na tela. O segundo arquivo escreve quatro linhas com 3 ausente. Aspas em volta de break escrevem letras, não uma parada cedo.
🧠 Teste Seu Conhecimento
Teste Seu Conhecimento
Desafie-se com este questionário interativo e veja o quão bem você entende o tópico
📝 Instruções
- Leia cada pergunta cuidadosamente
- Selecione a melhor resposta para cada pergunta
- Você pode refazer o quiz quantas vezes quiser
- Seu progresso será mostrado no topo