I'm FanJae.
[20260405] C# - 조건문 본문
1. 조건문이란?
- 컴퓨터에게 판단 기준을 알려주는 문법이다.
2. 조건문의 종류
| 종류 | 설명 | 언제 쓰면 좋을까? | 예시 |
|---|---|---|---|
| if / else if / else | 가장 기본적인 조건문. 조건이 다양하거나 복잡할 때 사용 | 나이에 따라 다른 메시지를 보여줄 때 | if (age > 18) { ... } |
| switch | 변수 값이 정해져있는 경우 사용 다수의 경우를 비교할 때 간결하게 사용 | 요일, 메뉴 번호, 등급 판별 등 | switch(score) { case 90: ... } |
| 삼항 연산자 (?:) | 간단한 if-else를 한 줄로 표현할 때 사용 | 조건에 따라 값만 바꿀 때 | string result = age >= 20 ? "성인" : "미성년자"; |
2-1. if / else if / else
일반적으로 가장 많이 쓰는 조건문이다if 조건문은 조건이 참이면 { } 안의 코드를 실행한다.
중괄호를 생략한 경우에는 if 조건문 바로 다음에 오는 한 문장만 실행된다.
else if는 앞의 if 조건이 참이 아닐 때 실행되며, 새로운 조건을 다시 확인한다.
else는 if 또는 else if의 모든 조건이 만족되지 않을 때 실행된다.
else if와 else는 단독으로 사용할 수 없고, 반드시 if 문장 뒤에서만 사용할 수 있다.
① if 만 사용하는 경우
int age = 25;
if (age >= 65)
{
Console.WriteLine("노년기");
}
- age가 65 이상이 아니기 때문에, 아무것도 출력하지 않는다.
② if, else를 사용하는 경우
int age = 25;
if (age >= 65)
{
Console.WriteLine("노년기");
}
else
{
Console.WriteLine("노년기가 아닙니다");
}
- 앞선 예제와 다르게, 65세 이상의 case에 대해서 노년기가 아닙니다를 출력하도록 하고 있다.
③ if, else if, else를 모두 사용하는 경우
int age = 25;
if (age >= 65)
{
Console.WriteLine("노년기");
}
else if (age >= 20)
{
Console.WriteLine("성인");
}
else
{
Console.WriteLine("청소년");
}
- age의 값이 25니까 성인을 출력할 것이다.
2-2. switch
switch문은 하나의 변수나 식의 값을 여러 경우와 비교하여, 일치하는 경우의 코드를 실행하는 조건문이다.
주로 비교 대상이 명확하게 정해져 있고, 가능한 경우의 수가 여러 개일 때 사용한다.
case는 비교할 각각의 경우를 나타내며, switch문의 값과 일치하면 해당 위치부터 코드를 실행한다.
default는 어떤 case와도 일치하지 않을 때 실행되는 영역으로, if문의 else와 비슷한 역할을 한다.
int menu = 2;
switch (menu)
{
case 1:
Console.WriteLine("김치찌개");
break;
case 2:
Console.WriteLine("된장찌개");
break;
case 3:
Console.WriteLine("비빔밥");
break;
default:
Console.WriteLine("없는 메뉴예요!");
break;
}
- switch 문에서는 각 case에 대해 반드시 break문이 포함되어야 한다.
2-3. 삼항 연산자 (?:)
삼항 연산자는 조건에 따라 두 값 중 하나를 선택할 때 사용하는 연산자이다.
주로 간단한 if-else를 한 줄로 표현할 때 사용되며, 짧고 간단한 조건일 때 쓰기 좋다.
int age = 17;
string result = (age >= 18) ? "성인" : "미성년자";
// 나이가 18세 이상이면, 성인 아니면 미성년자로 구분
Console.WriteLine(result); // age가 17 이므로 미성년자 입니다.
3. 실제 사용 예시
namespace ConsoleApp1
{
internal class Program
{
static void Main(string[] args)
{
int age = 21;
bool hasCoupon = true;
if (age >=20 || hasCoupon == true)
{
Console.WriteLine("입장 가능합니다.");
}
else
{
Console.WriteLine("입장 불가입니다.");
}
}
}
}
/*
놀이기구 탑승 관련 제한
나이 : 7세 이상 ~ 70세 미만
키 제한 : 105cm 이상 190cm 이하
*/
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
int age = 10;
int height = 120;
if (age < 7)
{
Console.WriteLine("탑승 불가: 나이 제한에 해당합니다.");
}
else if (age >= 70)
{
Console.WriteLine("탑승 불가: 나이 제한에 해당합니다.");
}
else if (height < 105)
{
Console.WriteLine("탑승 불가: 키가 너무 작습니다.");
}
else if (height > 190)
{
Console.WriteLine("탑승 불가: 키가 제한을 초과합니다.");
}
else
{
Console.WriteLine("탑승 가능합니다.");
}
}
}
}
```
/*
놀이기구 탑승 관련 제한
나이 : 7세 이상 ~ 70세 미만
키 제한 : 105cm 이상 190cm 이하
*/
namespace ConsoleApp2
{
internal class Program
{
static void Main(string[] args)
{
int age = 10;
int height = 120;
string result = (age >= 7 && age < 70 && height >= 105 && height <= 190)
? "탑승 가능합니다."
: "탑승 불가입니다.";
Console.WriteLine(result);
}
}
}
```
조건문은 요구 사항에 따라 적절한 형태를 선택하여 사용해야 한다.
4. 관련 문서
Microsoft, 「Selection 문 - if, if-else및 switch」 , https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/statements/selection-statements
'Unity > Unity 초격차캠프' 카테고리의 다른 글
| [리마인드] 콘솔 화면 2인용 오목 만들기 (C++) (0) | 2026.04.22 |
|---|---|
| [20260406] C# - 반복문 (0) | 2026.04.06 |
| [20260404] C# - 연산자 (0) | 2026.04.04 |
| [20260403] C# - 변수와 데이터 타입 (1) | 2026.04.03 |
| [20260402] C#이란? (1) | 2026.04.02 |