C#
[C#] 점프문 (break, continue, goto, return, throw)
homoon
2023. 5. 29. 14:35
1. break
설명 |
현재 실행 중인 반복문이나 switch 문의 실행을 중단 할때 사용 |
예시
/*
출력
계속할가요?(예/아니요) :
계속할가요?(예/아니요) :
계속할가요?(예/아니요) : 아니요
*/
namespace Break
{
internal class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("계속할가요?(예/아니요) : ");
string answer = Console.ReadLine();
if (answer == "아니요")
{
break;
}
}
}
}
}
2. continue
반복문을 멈추게 하는 break 문과는 달리, continue 문은 한 회 건너 뛰어 반복을 계속 수행하게 하는 기능을 함 |
예시
/*
실행
1 : 홀수
3 : 홀수
5 : 홀수
7 : 홀수
9 : 홀수
*/
namespace Continue
{
internal class Program
{
static void Main(string[] args)
{
for( int i = 0; i < 10; i++ )
{
if (i % 2 == 0)
continue;
Console.WriteLine($"{i} : 홀수");
}
}
}
}
3.goto
형식 |
goto 레이블; 레이블 : // 이어지는 코드; |
예시
/*
실행
종료 조건(숫자)을 입력하세요 : 5
1
2
3
4
5
Exit nested for ...
Exit program ...
실행 2
종료 조건(숫자)을 입력하세요 : 13
1
2
3
4
5
6
7
8
9
10
11
12
Exit program ...
*/
namespace Goto
{
internal class Program
{
static void Main(string[] args)
{
Console.Write("종료 조건(숫자)을 입력하세요 : ");
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++)
{
// 조건이 참이면 EXIT_FOR 레이블로 점프
if (exit_number++ == input_number)
goto EXIT_FOR;
Console.WriteLine(exit_number);
}
}
}
// EXIT_FOR레이블을 만나지 않기 위해 점프
goto EXIT_PROGRAM;
EXIT_FOR:
Console.WriteLine("\nExit nested for ... ");
EXIT_PROGRAM:
Console.WriteLine("Exit program ... ");
}
}
}
4. retrun
5. throw