카테고리 없음
Break / Continue / Goto 문
Korokke
2022. 5. 9. 14:32
Break 문
현재 실행 중인 반복문이나 switch문의 실행을 중단하고자 할 때 사용한다.
static void Main(string[] args)
{
int i = 0;
while(i >= 0)
{
if(i == 10)
{
break;
}
Console.WriteLine(i++);
}
Console.WriteLine("Break");
}
결과값:
0
1
2
3
4
5
9
7
8
9
Break
Continue 문
반복문을 멈추게 하는 break 문과 달리, continue 문은 한 회 건너 뛰어 반복을 계속 수행하게 한다.
continue 문은 가독성이 좋다는 장점이 있다. 이것은 코드가 복잡하고 길어질 수록 더욱 확연하게 느낄 수 있다.
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
if(i == 3)
{
continue;
}
Console.WriteLine(i); // 0 1 2 4 5 6 7 8 9 출력
}
}
Goto 문
goto문은 레이블이 가리키는 곳으로 바로 뛰어넘어간다.
- goto 문의 문법:
goto 레이블;
레이블:
//이어지는 코드
- 예제 1:
static void Main(string[] args)
{
Console.WriteLine(" 1 ");
goto JUMP; // 여기서
Console.WriteLine(" 2 ");
Console.WriteLine(" 3 ");
JUMP: // 여기로 이동
Console.WriteLine(" 4 ");
}
- 예제 2:
static void Main(string[] args)
{
Console.WriteLine("종료 조건(숫자)을 입력하세요 : ");
string input = Console.ReadLine();
int input_number = Convert.ToInt32(input);
int exit_number = 0;
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
for (int k = 0; k < 3; k++)
{
if(exit_number++ == input_number)
{
goto EXIT_FOR;
Console.WriteLine(exit_number);
}
}
}
}
goto EXIT_PROGRAM;
EXIT_FOR:
Console.WriteLine("EXIT nested for...");
EXIT_PROGRAM:
Console.WriteLine("EXIT PROGRAM");
}
3개의 for 반복으로 인해 exit_number++ 가 실행되는 횟수는 총 2 * 2 * 3 = 12회이다.
그 안에 12행의 goto EIT_FOR를 못 만나면 31행의 goto EXIT_PROGRAM을 만나고 이로 인해 EXIT_PROGAM 행으로 이동한다 아닐경우 EXIT_FOR으로 이동한다.
참조: 이것이 C#이다