-
다시한번 개발자도전! 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문의 구조와 실행 순서]
- 초기화: int i = 0 (루프 시작 전 한 번만)
- 조건식: i <= 5 (참이면 실행, 거짓이면 탈출)
- 실행문: { } 안의 코드 실행
- 증감식: 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("◽ 일반 등급: [낡은 단검] 획득!"); } }오늘두 열심히 했다!
당분간은 아침에 일어나는 거에 몸을 좀 더 적응시켜야 될 듯 ㅜ
점심만 먹구 나면 너무 졸려서 큰일이야.
내일두 화이토‼️‼️

'다시한번 개발자도전!' 카테고리의 다른 글
다시한번 개발자도전! 6일차 (배열,컬렉션) (0) 2026.01.09 다시한번 개발자도전! 5일차 (이중반복문 , 콘솔 좌표이동) (0) 2026.01.08 다시한번 개발자도전! 3일차 (외부입력받기,연산자,형변환) (0) 2026.01.06 다시한번 개발자도전! 2일 (깃허브,데이터 형식) (0) 2026.01.05 멋쟁이사자처럼 부트캠프 유니티게임개발7기 (변수,리터럴,vsc) (0) 2025.12.31