C#

조건문

김차루 2024. 5. 1. 20:04

 

1. 조건문

1) if 문

  • 조건식의 결과에 따라 실행 여부를 결정하는 조건문
# 실행할 코드가 여러줄인 경우
if (조건식)
{
    // 조건식이 참일 경우 실행할 코드
}

# 실행할 코드가 한줄인 경우
if (조건식)
    // 조건식이 참일 경우 실행할 코드

 

2) else 문

  • if 문에서 조건식이 거짓일 경우 실행할 코드를 지정하는 조건문
if (조건식)
{
    // 조건식이 참일 경우 실행할 코드
}
else
{
    // 조건식이 거짓일 경우 실행할 코드
}

 

3) else if 문

  • if문의 조건식이 거짓일 때, 새로운 조건식을 사용하여 실행 여부를 결정하는 조건문
  • else 문은 생략이 가능
if (조건식1)
{
    // 조건식1이 참일 경우 실행할 코드
}
else if (조건식2)
{
    // 조건식2가 참일 경우 실행할 코드
}
else
{
    // 모든 조건식이 거짓일 경우 실행할 코드
}

 

4) 중첩 조건문

  • 하나의 조건문 안에 또 다른 조건문이 포함된 형태의 조건문
int itemLevel = 3; // 아이템 레벨
string itemType = "Weapon"; // 아이템 종류

if (itemType == "Weapon")
{
    if (itemLevel == 1)
    {
        // 레벨 1 무기 효과
        Console.WriteLine("공격력이 10 증가했습니다.");
    }
    else if (itemLevel == 2)
    {
        // 레벨 2 무기 효과
        Console.WriteLine("공격력이 20 증가했습니다.");
    }
    else
    {
        // 그 외 무기 레벨
        Console.WriteLine("잘못된 아이템 레벨입니다.");
    }
}
else if (itemType == "Armor")
{
    if (itemLevel == 1)
    {
        // 레벨 1 방어구 효과
        Console.WriteLine("방어력이 10 증가했습니다.");
    }
    else if (itemLevel == 2)
    {
        // 레벨 2 방어구 효과
        Console.WriteLine("방어력이 20 증가했습니다.");
    }
    else
    {
        // 그 외 방어구 레벨
        Console.WriteLine("잘못된 아이템 레벨입니다.");
    }
}
else
{
    // 그 외 아이템 종류
    Console.WriteLine("잘못된 아이템 종류입니다.");
}

 

5) switch 문

  • 변수나 식의 결과에 따라 다른 코드 블록을 실행하는 제어문
  • case 문을 사용하여 변수나 식의 결과에 따라 실행할 코드를 지정
switch (변수나 식)
{
    case1:
        // 값1이 나온 경우 실행되는 코드
        break;
    case2:
        // 값2가 나온 경우 실행되는 코드
        break;
    // ...
    default:
        // 모든 case문에 해당하지 않는 경우 실행되는 코드
        break;
}

 

6) 3항 연산자

  • 3항 연산자는 if문의 간단한 형태로, 조건식의 결과에 따라 두 값을 선택하는 연산자
(조건식) ? 참일 경우 값 : 거짓일 경우 값;

 

 

2. 조건문 심화 실습

1) 홀수/짝수 구분하기

  • % 나머지 연산을 이용하여 짝수 구분
Console.WriteLine("번호를 입력하세요 : ");
int num = int.Parse(Console.ReadLine());

if(num % 2 ==0) // 2로 나눴을 때 나머지가 0이면 짝수
{
	Console.WriteLine("짝수입니다.");
}
else
{
	Console.WriteLine("홀수입니다.");
}

 

2) 등급 출력

  • else if 문에서 사용된 예시를 switch 문으로 변경
int playerScore = 100;
string playerRank = "";

switch (playerScore / 10)
{
	case 10:
    case 9:
    	playerRank = "Diamond";
    	break;
    case 8:
    	playerRank = "Platinum";
        break;
    case 7:
    	playerRank = "Gold";
        break;
    case 6:
    	playerRank = "Silver";
        break;
    default:
    	playerRank = "Bronze";
        break;
}

Console.WriteLine("플레이어의 등급은 " + playerRank + "입니다.");

 

3) 로그인 프로그램

  • &&와 || 논리연산자 사용
string id = "myId";
string password = "myPassword";

Console.Write("아이디를 입력하세요 : ");
string inputId = Console.ReadLine();
Console.Write("비밀번호를 입력하세요 : ");
string inputPassword = Console.ReadLine();

if(inputId == id && inputPassword == password)
{
	Console.WriteLine("로그인 성공!");
}
else
{
	Console.WriteLine("로그인 실패...");
}

 

4) 알파벳 판별 프로그램

  • 입력한 문자가 알파벳인지 여부를 판단
Console.Write("문자를 입력하세요 : ");
char input = Console.ReadLine()[0];

if(input >= 'a' && input <= 'z' || input >= 'A' && input <= 'Z')
{
	Console.WriteLine("알파벳입니다.");
}
else
{
	Console.WriteLine("알파벳이 아닙니다.");
}