반응형

안녕하세요.

 

오늘은 조건문에 대해서 알아보도록 하겠습니다.

 

1. if문

조건문이 true인지 false인지를 확인하여, true이면 다음 구문(블럭문)을 실행합니다.

 

if(조건문)

{

       실행문

}

 

예제

int nNum = 2;
if (nNum == 2)
{
    Console.WriteLine("Num : 2");
}

출력값

Num : 2

 

2. if - else문

조건문이 true인지 false인지를 확인하여, true이면 if 블록 문을 실행하고, 아니면 else 블럭문을 실행합니다.

 

if(조건문)

{

       실행문

}

else

{

       실행문

}

 

예제

int nNum = 5; 
if (nNum == 2) 
{ 
    Console.WriteLine("Num : 2"); 
}

else

{

    Console.WriteLine("Num : " + nNum);    

}

출력 값

Num : 5

 

3. if - else if - else문

if 조건문이 true인지 false인지 확인하여 true이면 if 블록 문을 실행하고, 아니면 else if 조건식을 확인해여 true인지 false인이 확인하여 else if 블럭문을 실행하고, 아니면 else 블럭문을 실행합니다.

 

if(조건문)

{

       실행문

}

else if(조건문)

{

       실행문

}

else

{

       실행문

}

 

예제

int nNum = 5; 
if (nNum == 2) 
{ 
    Console.WriteLine("Num : 2"); 
}

else if (nNum == 5) 
{ 
    Console.WriteLine("Num : 5"); 
}

else

{

    Console.WriteLine("Num : " + nNum);    

}

 

출력 값

Num : 5

 

4. switch-case문

switch문에 조건값에 따라서 case문의 실행문을 실행합니다. 그리고 중간에 break문을 만나게 되면 switch문을 빠져나오게 됩니다. case문에 조건값과 같은 값이 없다면 default문의 실행문을 실행하게 됩니다.  

 

switch(조건값)

{

      case 조건값 1:

             실행문

             break;

      case 조건값 2:

              실행문

             break;

              :

              :

      default:

             실행문

             break;

}

 

예제

int nNum = 2;
switch(nNum)
{
    case 1:
        Console.WriteLine("Num : 1");
        break;
   case 2:
        Console.WriteLine("Num : 2");
         break;
    default:
        Console.WriteLine("default");
        break;
}

출력 값

Num : 2

 

주의점은 break;를 안 넣게 되면 다음 구문이 진행이 됩니다.

예를 들면

int nNum = 2; 
switch(nNum) 
{ 
    case 1: 
        Console.WriteLine("Num : 1"); 
        //break;  제거
   case 2: 
        Console.WriteLine("Num : 2"); 
         break; 
    default: 
        Console.WriteLine("default"); 
        break; 
}

 

출력이 

Num : 1

Num : 2가 출력이 됩니다.

반응형

'개발공부 > C#' 카테고리의 다른 글

[C#] yield  (0) 2019.10.14
[C#] 반복문  (0) 2019.10.13
[C#] 연산자  (0) 2019.10.10
[C#] 데이터 타입  (0) 2019.10.09
[C#] 직렬화(Serialization)  (2) 2019.07.16

+ Recent posts