ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C#] 점프문 (break, continue, goto, return, throw)
    C# 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

    댓글