C# IF, Switch, For, While 루프 문 자습서 [예제]
흐름 제어 및 조건문
흐름 제어 및 조건문은 모든 프로그래밍 언어에서 프로그램 흐름을 변경하는 데 사용할 수 있습니다.
예를 들어 누군가 특정 논리를 기반으로 특정 명령문 세트만 실행하려는 경우 흐름 제어 및 조건문이 유용할 것입니다.
C#에서 사용할 수 있는 다양한 문을 살펴보면서 더 잘 이해할 수 있을 것입니다.
아래 코드는 모두 Program.cs 파일로 만들어졌으니 참고하세요.
1) If 문
if 문은 일련의 명령문을 실행하기 전에 부울 표현식을 평가하는 데 사용됩니다. 표현식이 true로 평가되면 한 세트의 명령문을 실행하고 그렇지 않으면 다른 세트의 명령문을 실행합니다.
아래 예에서는 value라는 변수에 대한 비교가 이루어집니다. 변수 값이 10보다 작으면 하나의 명령문을 실행하고, 그렇지 않으면 다른 명령문을 실행합니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Int32 value = 11;
if(value<10)
{
Console.WriteLine("Value is less than 10");
}
else
{
Console.WriteLine("Value is greater than 10");
}
Console.ReadKey();
}
}
}
코드 설명
- 먼저 value라는 변수를 정의하고 값을 11로 설정합니다.
- 그런 다음 'if' 문을 사용하여 값이 변수의 10보다 작은지 확인합니다. 결과는 참이거나 거짓일 것입니다.
- if 조건이 true로 평가되면 "값이 10보다 작습니다"라는 메시지를 콘솔에 보냅니다.
- if 조건이 false로 평가되면 "값이 10보다 큼"이라는 메시지를 콘솔에 보냅니다.
위 코드를 올바르게 입력하여 프로그램이 성공적으로 실행되면 다음과 같은 출력이 표시됩니다.
출력:
'if' 문이 false로 평가되었음을 분명히 알 수 있습니다. 따라서 "값이 10보다 큼"이라는 메시지가 콘솔로 전송되었습니다.
2) 스위치 문
switch 문은 'if' 문이 향상된 것입니다. 한 번에 평가해야 하는 표현식이 여러 개 있는 경우 'if' 문을 여러 개 작성하는 것이 문제가 됩니다.
switch 문은 표현식을 평가하고 표현식 결과에 따라 다른 명령문을 실행하는 데 사용됩니다. 한 조건이 true로 평가되지 않으면 switch 문은 다음 조건으로 이동합니다.
아래 예제에서 이것이 어떻게 작동하는지 살펴보겠습니다. 여기서는 '값'이라는 변수의 값을 다시 비교해보겠습니다. 그런 다음 값이 1, 2 또는 완전히 다른지 확인합니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Int32 value=11;
switch(value)
{
case 1: Console.WriteLine("Value is 1");
break;
case 2: Console.WriteLine("Value is 2");
break;
default: Console.WriteLine("value is different");
break;
}
}
}
}
코드 설명:-
- 먼저 'value'라는 변수를 정의하고 값을 11로 설정합니다.
- 그런 다음 'switch' 문을 사용하여 'value' 변수의 값을 확인합니다.
- Case 문은 다양한 조건을 설정하는 데 사용됩니다. 조건에 따라 일련의 명령문을 실행할 수 있습니다. switch 문에는 여러 개의 Case 조건이 있을 수 있습니다. 첫 번째 Case 문은 변수 값이 1인지 확인합니다.
- 첫 번째 Case 문이 true이면 "값은 1입니다"라는 메시지가 콘솔에 기록됩니다.
- break 문은 조건이 true일 때 전체 switch 문을 중단하는 데 사용됩니다.
- 기본 조건은 특수 조건입니다. 이는 케이스 표현식이 true로 평가되지 않으면 기본 조건에 대한 명령문 세트를 실행한다는 의미입니다.
위의 코드를 올바르게 입력하고 프로그램을 성공적으로 실행하면 다음과 같은 출력이 표시됩니다. 조건이 충족되지 않으므로 출력은 기본값 "Value is different"를 인쇄합니다.
출력:
3) while 루프
while 루프는 반복 목적으로 사용됩니다. 특정 횟수만큼 특정 명령문 세트를 반복하려는 경우 while 루프가 사용된다고 가정합니다.
아래 예에서는 while 문을 사용하여 변수 'i'의 값을 표시합니다. while 문을 사용하여 값을 3번 표시합니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
Int32 value=3,i=0;
while(i<value)
{
Console.WriteLine(i);
i=i+1;
}
Console.ReadKey();
}
}
}
코드 설명:-
- 두 개의 정수 변수 하나는 값이고 다른 하나는 'i'로 정의됩니다. value 변수는 while 문을 반복해야 하는 상한으로 사용됩니다. 그리고 'i'는 반복 중에 처리될 변수입니다.
- while 문에서는 'i' 값이 상한값과 비교하여 지속적으로 확인됩니다.
- 여기서는 'i' 값을 콘솔에 표시합니다. 또한 'i'의 값을 증가시킵니다.
위 코드를 올바르게 입력하여 프로그램이 성공적으로 실행되면 다음과 같은 출력이 표시됩니다.
출력:
여기서 while 문이 3번 실행되고 동시에 증가하는 것을 볼 수 있습니다. 그리고 매번 변수 'i'의 현재 값을 표시했습니다.
4) 루프를 위해
'for' 루프는 반복 목적으로도 사용됩니다. 특정 횟수만큼 특정 명령문 세트를 반복하려는 경우 forloop가 사용된다고 가정하십시오.
아래 예에서는 'for' 문을 사용하여 변수 'i'의 값을 표시합니다. 'for' 문은 값을 3번 표시하는 데 사용됩니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Program
{
static void Main(string[] args)
{
for(Int32 i=0;i<3;i++)
{
Console.WriteLine(i);
}
Console.ReadKey();
}
}
}
코드 설명:-
- 'for' 키워드는 'for 루프' 문을 시작하는 데 사용됩니다.
- 'for 루프'에서는 3가지를 정의합니다. 첫 번째는 'for 루프'에서 사용될 변수의 값을 초기화하는 것입니다.
- 두 번째는 'i'의 값을 상한과 비교하는 것입니다. 우리의 경우 상한은 3(i<3)의 값이다.
- 마지막으로 이에 따라 'i' 값을 증가시킵니다.
- 여기서는 'i' 값을 콘솔에 표시합니다.
위 코드를 올바르게 입력하여 프로그램이 성공적으로 실행되면 다음과 같은 출력이 표시됩니다.
출력:
여기서 'for' 문이 3번 실행되는 것을 볼 수 있습니다. 그리고 매번 변수 'i'의 현재 값을 표시했습니다.








