ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 다시한번 개발자도전! 4일차(삼항연산자,연산자 우선순위,제어문,반복문)
    다시한번 개발자도전! 2026. 1. 7. 16:41

    이제는 일찍 일어나는 게 좀 적응이 된걸 수도?

    그래도 아침에 일어나는 건 너무 졸려..

     


    💻 C# 기초: 조건문과 반복문 완벽 정리

     

    1. 삼항연산자 (Ternary Operator)

    • 문법: (조건식) ? 참일_때_값 : 거짓일_때_값;
    • 장점: 코드가 간결해지고 가독성이 좋아짐.
    • ⚠️ 주의: 삼항연산자 안에 또 삼항연산자를 넣는 중첩은 가독성을 해치니 지양.
            static void Main(string[] args)
            {
                int a = 10, b = 20;
                
                //삼항연산자를 쓸경우
                int max = (a > b) ? a : b;
                Console.WriteLine(max);
    
                //안쓴경우
                if (a > b) max = a;
                else max = b;
                Console.WriteLine(max);
            }

     

    ⬇️실습예제⬇️

    더보기
    • 헬스 = 30;
    • 맥스헬스 = 100;
    • 헬스상태 70 안전 70~30주의 그보다 낮을 시 위험

    🔥결과

    static void Main(string[] args)
    {
        int health = 30;
        int maxHealth = 100;
        string healthStatus = (health >= maxHealth * 0.7) ? "안전" :
                               (health >= maxHealth * 0.3) ? "주의" : "위험";
    
        Console.WriteLine("===체력 상태===");
        Console.WriteLine($"현재 체력: {health}/{maxHealth}");
        Console.WriteLine($"상태 : {healthStatus}");
    }

     


    2. 연산자 우선순위 (Operator Precedence)

    • 연산자는 정해진 순서에 따라 계산됨. 헷갈리면 무조건 **괄호 ()**를 쓰는 게 제일 정확함.

    📊 C# 주요 연산자 우선순위 정리

    우선순위 연산자 종류 연산자 설명
    1순위 괄호 () 가장 먼저 계산됨
    2순위 단항 연산자 ++, --, !, - 증감, 논리 부정, 부호 변경
    3순위 산술 (곱셈) *, /, % 곱하기, 나누기, 나머지
    4순위 산술 (덧셈) +, - 더하기, 빼기
    5순위 비교 <, >, <=, >= 크기 비교
    6순위 동등 비교 ==, != 같은지, 다른지 확인
    7순위 논리 AND && 그리고 (모두 참이어야 함)
    8순위 논리 OR `  
    9순위 대입 =, +=, -=, *= 값을 변수에 저장함

     


    3. 제어문 (Control Statements)

    프로그램의 흐름을 바꾸는 아주 중요한 도구

     

    if / else if / else

    • if: 조건의 시작.
    • else if: 앞의 조건이 아닐 때 다시 검사.
    • else: 모든 조건이 아닐 때 실행되는 '나머지'.
    • 가장 범용적인 조건문임. 순차적으로 조건을 검사함.
     static void Main(string[] args)
     {
         int score = 75;
    
         if (score >= 90) //조건시작
             Console.WriteLine("A등급");
         else if (score > 70 && score <= 79) //다중검사
             Console.WriteLine("B등급");
         else
             Console.WriteLine("C등급"); //위에조건에 모두 안맞았을때
     }

     

    ⬇️실습예제⬇️

    더보기

     

    • 현재 체력 30/100
    • 체력이 30보다 낮을 경우
    • 체력이 절반 이하일 경우 
    • 체력이 0일 경우

    🔥실습결과

    static void Main(string[] args)
    {
        int curHealth = 30;
        int maxHealth = 100;
    
        Console.WriteLine($"{curHealth} / {maxHealth}");
        
        if (curHealth >= maxHealth * 0.5) 
            Console.WriteLine("안정을 취하십시오");
        else if (curHealth <= maxHealth * 0.3)
        {
            Console.WriteLine("경고: 체력이 위험합니다!");
            Console.WriteLine("체력 아이템을 사용하세요!");
        }
        else if(curHealth <= 0)
            Console.WriteLine("게임오버");
    }

     


     

    switch문

    하나의 변수 값에 따라 여러 케이스를 나눌 때 if보다 훨씬 깔끔함.

    static void Main(string[] args)
    {
        int day = 3;
    
        switch (day)
        {
            case 1:
                Console.WriteLine("월요일");
                break;
            case 2:
                Console.WriteLine("화요일");
                break;
            case 3:
                Console.WriteLine("수요일");
                break;
            default:
                Console.WriteLine("유효하지 않은 요일");
                break;
    
    
        }

     

    ⬇️실습예제⬇️

    더보기

    게임캐릭터 직업선택


    🔥실습결과

    static void Main(string[] args)
    {
    
        Console.WriteLine($"1:도사. 2:무직, 3:목수. 4:마법사 ");
        Console.Write($"직업을 고르세요: ");
        int jabNum = int.Parse(Console.ReadLine());
        int hp;
        int power;
        string jab;
    
        switch (jabNum)
        {
            case 1:
                hp = 100;
                power = 50;
                jab = "도사";
                break;
            case 2:
                hp = 80;
                power = 70;
                jab = "무직";
                break;
            case 3:
                hp = 150;
                power = 200;
                jab = "목수";
                break;
            case 4:
                hp = 90;
                power = 120;
                jab = "마법사";
                break;
            default:
                hp = 0;
                power = 0;
                jab = "error";
                Console.WriteLine($"번호를 잘 못 누르셨습니다.");
                break;
        }
    
        Console.WriteLine($"직업: {jab}");
        Console.WriteLine($"체력: {hp}");
        Console.WriteLine($"힘: {power}");
    }

     

     


     

    4. 반복문: for문

    정해진 횟수만큼 코드를 반복할 때 사용함.

    [for문의 구조와 실행 순서]

    1. 초기화: int i = 0 (루프 시작 전 한 번만)
    2. 조건식: i <= 5 (참이면 실행, 거짓이면 탈출)
    3. 실행문: { } 안의 코드 실행
    4. 증감식: i++ (실행 후 변수 값 변경) → 다시 2번으로 이동
     static void Main(string[] args)
     {
         for(int i = 0; i <= 5; i++)
         {
             Console.WriteLine(i); //0,1 ...5 까지 나옴
         }
     }

    ⬇️ 랜덤 클래스 (Random Class)란?

    더보기

    게임에서 확률이나 무작위 요소를 넣을 때 사용함.

    • 생성: Random rand = new Random();
    • 범위 지정: rand.Next(1, 11); (1부터 10까지 나옴. 끝값은 포함 안 됨!)
    • 유니티용: 유니티 엔진에서는 Random.Range(min, max)를 더 많이 씀.

    static void Main(string[] args)
    {
        Random random = new Random();
    
        // 주요 메서드
        int number1 = random.Next();           // 0 ~ int.MaxValue
        int number2 = random.Next(10);         // 0 ~ 9
        int number3 = random.Next(1, 7);       // 1 ~ 6 (주사위)
        double number4 = random.NextDouble();  // 0.0 ~ 1.0
    }

     

    ⬇️응용

    static void Main(string[] args)
    {
        Random rand = new Random();
    
        Console.WriteLine("=== 아이템 상자를 뽑습니다! ===");
    
        int chance = rand.Next(1, 101); //최대값인 101은 제외 100까지만 나옴
    
        if (chance <= 5) 
        {
            Console.WriteLine("✨ 전설 등급: [마법사의 지팡이] 획득!");
        }
        else if (chance <= 30) 
        {
            Console.WriteLine("💠 희귀 등급: [강철 검] 획득!");
        }
        else 
        {
            Console.WriteLine("◽ 일반 등급: [낡은 단검] 획득!");
        }
    }

     

    오늘두 열심히 했다!

    당분간은 아침에 일어나는 거에 몸을 좀 더 적응시켜야 될 듯 ㅜ

    점심만 먹구 나면 너무 졸려서 큰일이야.

    내일두 화이토‼️‼️

Designed by Tistory.