분기문(Branching Statement)
분기문 (Branching Statement)은 조건에 따라 다음에 실행할 흐름을 결정 및 수행하는 제어 구문입니다.
분기문은 크게 두 가지가 있으며 if
문과 switch
문이 있습니다.
if
if 문은 Boolean
값에 따라 하나의 조건(true or false)만 판단하여 실행할 구문({}
)을 식별합니다.
if문은 참과 거짓을 구별하여 사용할 때 사용합니다.
if
: 참, 거짓 판단
bool check = true;
if(check)
{
label1.Text = "참";
}
실제 출력 값 : 참
if-else
: if의 조건이 맞지 않을 경우 else 수행
bool check = false;
if(check)
{
label1.Text = "참";
}
else
{
label1.Text = "거짓";
}
실제 출력 값 : 거짓
else if
: if의 조건이 맞지 않을 경우 else if 판단
int number = 2;
if(number == 0)
{
label1.Text = "영";
}
else if (number == 1)
{
label1.Text = "일";
}
else if (number == 2)
{
label1.Text == "이"
}
else
{
label1.Text == "알 수 없음";
}
실제 출력 값 : 이
만약 변수 number
가 0, 1, 2 가 아닐 경우 알 수 없음
을 출력합니다.
if-if
: 두 단계에 걸쳐 판단
string Color = "빨강";
int size = 40;
if(size > 30)
{
if(Color == "빨강")
{
label1.Text = "큰 빨강";
}
else
{
label1.Text = "색상이 다릅니다.";
}
}
else
{
label1.Text = "크기가 작습니다.";
}
실제 출력 값 : 큰 빨강
첫 번째로 size
변수를 비교 후, Color
변수를 비교합니다.
switch
switch 문은 int
값에 따라 일치를 판단(0, 1, 2, …)하여 실행할 구역(case)
을 식별합니다.
switch 문은 조건이 같고 값이 세 가지 이상일때 사용합니다.
int number = 0;
switch (number)
{
case 0:
label1.Text = "영";
break;
case 1:
label1.Text = "일";
break;
case 2:
label1.Text = "이";
break;
default:
label1.Text = "none";
break;
}
실제 출력 값 : 영
case에 포함되지 않은 경우에는 default 값을 출력합니다.
switch 구문은 아래와 같습니다. int
값을 가지는 변수를 사용하며 case
에 따라 아래의 구문을 실행합니다.
break
구문을 넣지 않으면 에러(CS8070)
가 뜨며, case안에 포함되지 않은 경우는 dafault
를 실행시킵니다.
switch (int 변수)
{
case 상수{0}:
//사용될 명령어//
break;
case 상수{1}:
//사용될 명령어//
break;
case 상수{2}:
//사용될 명령어//
break;
default:
//사용될 명령어//
break;
}
- Tip : break는 중괄호
{}
구문을 나가게 됩니다. 즉, case 안에서 실행될 경우 switch의 중괄호를 나가게 됩니다.