C#이 제공하는 점프문에는 다섯 가지가 있습니다.
- break
- continue
- goto
- return
- throw
break
break 문은 실행 중인 반복문이나 switch 문의 실행을 중단하고자 할 때 사용합니다.
int item = 0;
while (true)
{
if ( item == 10 )
break;
Console.WriteLine( item++ );
}
Console.WriteLine("당신의 아이템 개수는 10개입니다.");
위 코드는 break 문으로 무한 반복문을 중단하는 예입니다.
continue
continue 문은 한 회 건너 뛰어 반복을 계속 실행하게 하는 기능을 합니다.
for(int sellItemCount=0; sellItemCount<10; ++sellItemCount)
{
if(sellItemCount == 3)
{
Console.WriteLine("상점 주인이 4개는 구매 거부하는군요.");
continue;
}
Console.WriteLine($"판매한 아이템 개수 : {sellItemCount+1}");
}
위 코드는 continue 문으로 반복문을 건너 뛰어 실행하는 예입니다.
goto
goto 문은 라벨(Label)을 사용하여 라벨이 가리키는 곳으로 바로 뛰어 넘어갑니다. 사용처에 따라 유용하기도 하고 욕을 먹기도 하는 문법입니다.
Console.WriteLine("연성진 발동!");
for ( int i=0; i<10; i++ )
{
for ( int j=0; j<10; j++)
{
if(i == 7)
goto FAIL;
else if(i%2 == 0)
Console.Write("*");
else if(j%2 == 0)
Console.Write("*");
else
Console.Write(" ");
}
Console.WriteLine();
}
return;
FAIL:
Console.WriteLine("마법이 실패했다!");
위 코드는 중첩된 반복문을 뚫고 나오는 예입니다.
return
return 문은 프로그램의 흐름을 호출자에게로 돌립니다. 보통은 메소드 마지막에 호출하지만 중간에 호출되어 메소드를 종결시키고 프로그램의 흐름을 호출자에게 돌려줄 수 있습니다.
int Damage( int a )
{
if( Defence )
return 0; //방어 성공. 데미지 0
else
return a;
}
위 코드는 return 문이 여러 개 사용되는 예입니다.