Break and Continue
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 21번째.
C#에서 break와 continue는 loop 실행을 더 잘 제어할 수 있게 해주는 구문입니다.
break 문
break 문은 loop를 즉시 종료합니다:
for (int i = 1; i <= 10; i++)
{
if (i == 5)
{
break; // i가 5와 같을 때 루프를 종료합니다
}
Console.WriteLine(i);
}위 코드를 실행한 후, 출력 결과는 다음과 같습니다:
1
2
3
4i가 5와 equals하는 즉시 loop가 중단되고, 실행은 loop 이후의 코드로 계속됩니다.
continue 문
continue 문은 현재 iteration의 rest 부분을 건너뛰고 다음 iteration으로 이동합니다:
for (int i = 1; i <= 5; i++)
{
if (i == 3)
{
continue; // 이 반복의 나머지를 건너뜁니다
}
Console.WriteLine(i);
}위 코드를 실행한 후의 출력 결과는 다음과 같습니다:
1
2
4
5continue 문이 해당 iteration에 대해 Console.WriteLine(i)를 건너뛰기 때문에 값 3은 출력되지 않습니다.
챌린지
쉬움정수 배열을 매개변수로 받는 ProcessNumbers라는 메서드를 작성하세요. 이 메서드는 다음을 수행해야 합니다:
- 배열의 모든
number를 출력합니다 - 음수(
negative)는 출력을 건너뜁니다 (continue사용) - 100보다(
than) 큰(greater)number를 만나면 처리를 중단합니다 (break사용) - 출력된 모든
numbers의sum을 반환합니다
직접 해보기
using System;
public class Program
{
public static int ProcessNumbers(int[] numbers)
{
// 여기에 코드를 작성하세요
return 0;
}
public static void Main(string[] args)
{
// 사용자로부터 입력을 읽습니다
string input = Console.ReadLine();
int[] numbers;
if (string.IsNullOrEmpty(input))
{
// 테스트용 샘플 배열
numbers = new int[] { 5, -3, 10, 15, -7, 105, 20 };
}
else
{
string[] parts = input.Split(',');
numbers = new int[parts.Length];
for (int i = 0; i < parts.Length; i++)
{
numbers[i] = int.Parse(parts[i].Trim());
}
}
int sum = ProcessNumbers(numbers);
Console.WriteLine("Sum: " + sum);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety