본문으로 바로가기

C# 점프문 알아보기 메인사진

 

안녕하세요. 애드라이프 입니다.

이전 포스팅에서 반복문(루프문)에 대해서 알아 보았습니다.

이해하는데 어려움은 없으셨나요?

혹시 아직 이해가 안되셨거나 이전 포스팅이 궁금하시다면

아래 링크를 참고해주세요. :)

 

C# 프로그램 시작하기 - 반복문(루프문) 다루기 #7

 

C# 프로그램 시작하기 - 반복문(루프문) 다루기 #7

안녕하세요. 애드라이프 입니다. 이전 포스팅에서 조건문(분기문)에 대해서 다뤘는데요. 이제 if, else, else if , switch case문은 다들 아시겠죠? 혹시 이전 포스팅이 궁금하신 분들이 있다면 아래 링크 참고해..

increase-life.tistory.com

 

그럼 이번 포스팅에서는 Jump문에 대해서

함께 알아보도록 하겠습니다.

지금까지 어떤 프로그램을 했느냐에 따라

익숙하신 분들도 있고 생소하신 분들도 있을텐데요.

 

전혀 문제될것 없습니다.

아주 쉽게 설명해드릴께요.

 

Jump문은 말 그대로 순차적인 흐름이 아닌

어딘가로 뛰어 넘어간다는 뜻을 의미합니다.

 

우리가 이번에 배울 Jump문은

break. continue, goto 입니다.


먼저 beak문입니다.

 

 

break문은 이전 포스팅에서 다뤘던 switch case문에서

한번 본적이 있죠!! 기억나죠? 나는거죠?

 

그때의 기억을 되살려서...

break는 반복문이나 switch case문을 빠져나가는

용도로 쓰는 요소입니다.

 

이해를 돕기 위해 프로그램을 예시로 들어보겠습니다.

using static System.Console;

namespace break_program
{
    class Program
    {
        static void Main(string[] args)
        {
            while(true)// #7번 포스팅에서 다뤘던 무한반복문입니다!!
            {
                WriteLine("exit를 입력하면 프로그램이 정지합니다 : ");
                string inputStr = ReadLine();

               if(inputStr=="exit")
               {
                    break;
               }
            }
        }
    }
}

 

바로 이전 포스팅에서 배웠던 무한반복문을 사용하여

break문의 예시 프로그램을 작성하였습니다.

결과가 어떻게 나올까요?

C# break문 프로그램 결과

 

프로그램에서 지정해 놓은 "exit"라는 

문자열이 콘솔에 입력되지 않으면 

계속에서 프로그램이 반복실행되고

해당 입력을 받으면 마무리 되는것을 볼수 있습니다.

 


다음은 continue입니다.

 

 

continue문은 간단히 말하면

반복중에 건너뛰고 싶은 부분이 있을때 사용합니다.

예를 들어 1~10까지 순차적으로 숫자를 출력하다

중간에 4라는 숫자를 빼고 싶다면?

continue문을 사용하면 간단합니다.

 

글로 썻던 예시를 바로 프로그램으로 작성해보겠습니다.

using static System.Console;

namespace continue_program
{
    class Program
    {
        static void Main(string[] args)
        {
            int n = 0;
            while (n < 10)
            {
                n++;
                if (n == 4)
                    continue;
                WriteLine(n);
            }
        }
    }
}

 

while문에 조건식을 넣어서

continue문의 예시를 작성했습니다.

continue구문이 없다면 단순히 1~10까지

출력해주는 프로그램이 되겠지만

위 프로그램은 4를 빼고 나머지를 출력합니다.

결과를 보겠습니다.

 

C# continue 프로그램 결과

 

4가 빠지고 나머지 숫자가 출력되어있죠?

continue문은 이처럼 해당 조건에 반복문을

건너뛰는 역할을 수행합니다.

 

 


마지막 goto문입니다.

 

goto문은 아래와 같은 구조로 쓰입니다.

goto Label명;(세미콜론)

 

Label :(콜론)               

goto 다음에 붙는 Label로 이동하는 동작을 수행합니다.

goto문의 자세한 설명을 하기전에

Label에 대한 설명부터 진행하도록 하겠습니다.

 

Label은 쉽게 말해 장소를 표시하는 깃발같은 역할입니다.

goto가 선언된 부분이 예를들어 프로그램의

10번째 줄이고 해당 레이블이 100번째 중에

선언되어 있다면 11번째 줄부터 99번째 줄까지

무시하고 뛰어 넘어버립니다!!

 

이해를 돕기 위해 바로 프로그램을 보겠습니다.

using static System.Console;

namespace goto_program
{
    class Program
    {
        static void Main(string[] args)
        {
            WriteLine("가");
            WriteLine("나");
            WriteLine("다");
            goto Label_flg;

            WriteLine("라");
            WriteLine("마");
            WriteLine("바");
            WriteLine("사");
            WriteLine("아");
            WriteLine("자");
            WriteLine("차");
            WriteLine("카");
            WriteLine("타");
            WriteLine("파");

            Label_flg :
            WriteLine("하");
        }
    }
}

 

goto Label_flg;

Label_flg :

 

goto가 "다" 다음에 선언되어 "하"

위에 Label이 선언되었기 때문에

중간에 문자들은 출력되지 못하는 신세!?입니다.

 

실제 결과를 봐보겠습니다.

C# continue 프로그램 결과

실제 결과에서도 출력된건 

가, 나, 다, 하뿐입니다.

 

참 편리해보이는 goto문이지만

프로그램을 작성할때 goto문을

많이 사용하는 것은 좋지 않습니다.

이리저리 뛰어다니면서 프로그램의 가독성을

매우 떨어트리기 때문이죠!!

 

뭐든지 적당히!!

(이게 제일 어렵다고들 하지만 프로그램은 그렇지 않아요!!)

 

지금까지 점프문에 대한 내용을 살펴봤습니다.

다음에는 더욱 유익한 포스팅으로 찾아뵙겠습니다.

by 애드라이프