[C#] 조건문

김승태·2025년 3월 13일

C#

목록 보기
4/13

🔀 조건문 (Conditional Statements)

조건에 따라 실행 흐름을 다르게 제어할 때 사용하는 문장


✅ if 조건문

🔹 정의

조건식의 true / false 여부에 따라 실행할 블럭을 결정하는 조건문.

  • 조건식이 이면 if 블럭 실행
  • 조건식이 거짓이면 else 블럭 실행

📌 기본 형식

int a = 10;

if (a == 10)
{
    // 조건식이 참일 때 실행되는 블럭
    Console.WriteLine("조건식이 참입니다.");
}
else
{
    // 조건식이 거짓일 때 실행되는 블럭
    Console.WriteLine("조건식이 거짓입니다.");
}

🔹 if만 사용할 경우 (else if 없이)

int score = 100;

if (score >= 90)
{
    Console.WriteLine("점수가 90점 이상입니다.");
}
if (score >= 60)
{
    Console.WriteLine("점수가 60점 이상입니다.");
}
if (score >= 30)
{
    Console.WriteLine("점수가 30점 이상입니다.");
}

📌 출력 결과:

점수가 90점 이상입니다.
점수가 60점 이상입니다.
점수가 30점 이상입니다.

➡️ if만 사용하면 모든 조건을 순차적으로 검사하기 때문에
중복 출력이 발생할 수 있음.
하나만 실행되길 원할 경우 → else if를 사용


🔹 if ~ else if 조건문

조건을 순차적으로 검사하며, 처음 참인 조건의 블럭만 실행됨

int score = 100;

if (score >= 90)
{
    Console.WriteLine("점수가 90점 이상입니다.");
}
else if (score >= 60)
{
    Console.WriteLine("점수가 60점 이상입니다.");
}
else
{
    Console.WriteLine("점수가 매우 낮습니다.");
}

🔁 switch문

🔹 정의

  • 여러 케이스를 비교하여 실행하는 조건문
  • if~else보다 조건 값이 명확하게 분기될 때 유리
  • case마다 break 필수 (C#은 Fall-through 미지원)

📌 기본 형식

switch (조건값)
{
    case 특정값1:
        // 실행할 코드
        break;
    case 특정값2:
        // 실행할 코드
        break;
    case 특정값3:
        // 실행할 코드
        break;
    default:
        // 모든 case에 해당하지 않을 경우
        break;
}

📝 참고사항

  • Java, C/C++은 break 생략 시 다음 case까지 실행 (Fall-through 지원)
  • C#은 Fall-through를 지원하지 않음
    • casebreak 없으면 컴파일 에러 발생
    • 대신 goto case 또는 goto default로 분기 가능

📌 예시

string input;
int num;

Console.WriteLine("숫자 (1 ~ 3) 를 입력하세요: ");

input = Console.ReadLine();
int.TryParse(input, out num);

switch (num)
{
    case 1:
        Console.WriteLine("1 입니다.");
        break;
    case 2:
        Console.WriteLine("2 입니다.");
        break;
    case 3:
        Console.WriteLine("3 입니다.");
        break;
    default:
        Console.WriteLine("예외사항입니다.");
        break;
}
profile
긍정머신

0개의 댓글