ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C#] 분기문 (if, switch)
    C# 2023. 5. 27. 14:25

    1. if, else, else if

    if 문의 사용 형식 if (조건식)
        참인 경우에 실행 할 코드;
    참인 경우 실행할 코드가 여러 줄인 경우 if (조건식)
    {
        // 참인 경우에
        // 실행할
        // 코드
    }
    else 예시 if (조건식)
        참인 경우에 실행 할 코드;
    else
        거짓인 경우에 실행 할 코드;
    else if 예시 if (조건식1)
        조건식1이 참인 경우에 실행 할 코드;
    else if (조건식2)
        조건식1이 거짓일때 조건식2가 참 인 경우에 실행 할 코드;
    else
        거짓인 경우에 실행 할 코드;
    // if문 예시
    /*
     * 숫자를 입력하세요. : 33
     * 양수
     * 홀수
     * 
     * 숫자를 입력하세요. : -12
     * 음수
     * 짝수
     */
    namespace IfElse
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("숫자를 입력하세요. : ");
    
                string input = Console.ReadLine();
                int number = Int32.Parse(input);
    
                if (number < 0)
                    Console.WriteLine("음수");
                else if (number > 0)
                    Console.WriteLine("양수");
                else
                    Console.WriteLine("0");
    
                if (number % 2 == 0)
                    Console.WriteLine("짝수");
                else
                    Console.WriteLine("홀수");
            }
        }
    }
    /*
     * if 중첩문 예시
     * 
     * 숫자를 입력하세요. : 11
     * 0보다 큰 홀수.
     * 
     * 숫자를 입력하세요. : 4
     * 0보다 큰 짝수.
     * 
     * 숫자를 입력하세요. : -10
     * 0보다 작거나 같은 수.
     */
    namespace IfIf
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                Console.Write("숫자를 입력하세요. : ");
    
                string input = Console.ReadLine();
                int number = Convert.ToInt32(input);
    
                if (number > 0)
                {
                    if (number % 2 == 0)
                        Console.WriteLine("0보다 큰 짝수.");
                    else
                        Console.WriteLine("0보다 큰 홀수.");
                }
                else
                {
                    Console.WriteLine("0보다 작거나 같은 수.");
                }
            }
        }
    }

    2. switch

    switch (조건식)
    {
        case 상수1 : // 조건식 == 상수1?
            // 실행할 코드
            break;
        case 상수2 : // 조건식 == 상수2?
            // 실행할 코드
            break;
        case 상수N : // 조건식 == 상수N?
            // 실행할 코드
            break;:
        default : // 조건식이 어떤 경우와도 맞지 않은 경우, default 절은 생략 가능함
            //
            break;
    }
    /*
     * switch문 예제
     * 
     * 요일을 입력하세요. (일,월,화,수,목,금,토) : 화
     * Tuesday
     * 
     * 요일을 입력하세요. (일,월,화,수,목,금,토) : 사
     * 사는(은) 요일이 아닙니다.
     */
    namespace Switch
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                Console.Write("요일을 입력하세요. (일,월,화,수,목,금,토) : ");
                string day = Console.ReadLine();
    
                switch (day)
                {
                    case "일":
                        Console.WriteLine("Sunday");
                        break;
                    case "월":
                        Console.WriteLine("Monday");
                        break;
                    case "화":
                        Console.WriteLine("Tuesday");
                        break;
                    case "수":
                        Console.WriteLine("Wednesday");
                        break;
                    case "목":
                        Console.WriteLine("Thursday");
                        break;
                    case "금":
                        Console.WriteLine("Friday");
                        break;
                    case "토":
                        Console.WriteLine("Saturday");
                        break;
                    default:
                        Console.WriteLine($"{day}는(은) 요일이 아닙니다.");
                        break;
                }
            }
        }
    }
    /*
     * switch 예제 2
     * 
     * 123
     * 123는 int 형식입니다.
     * 
     * 123.45
     * 123.45는 float 형식입니다.
     * 
     * 안녕하세요
     * 안녕하세요는 모르는 형식입니다.
     */
    namespace Switch2
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                object obj = null;
    
                string s = Console.ReadLine();
                if (int.TryParse(s, out int out_i))
                    obj = out_i;
                else if (float.TryParse(s, out float out_f))
                    obj = out_f;
                else
                    obj = s;
    
                switch (obj)
                {
                    case int i:
                        Console.WriteLine($"{i}는 int 형식입니다.");
                        break;
                    case float f:
                        Console.WriteLine($"{f}는 float 형식입니다.");
                        break;
                    default:
                        Console.WriteLine($"{obj}는 모르는 형식입니다.");
                        break;
                }
            }
        }
    }

    댓글