C#
[C#] 분기문 (if, switch)
homoon
2023. 5. 27. 14:25
1. if, else, else if
if 문의 사용 형식 | if (조건식) 참인 경우에 실행 할 코드; |
참인 경우 실행할 코드가 여러 줄인 경우 | if (조건식) { // 참인 경우에 // 실행할 // 코드 } |
else 예시 | if (조건식) 참인 경우에 실행 할 코드; else 거짓인 경우에 실행 할 코드; |
else if 예시 | if (조건식1) 조건식1이 참인 경우에 실행 할 코드; else if (조건식2) 조건식1이 거짓일때 조건식2가 참 인 경우에 실행 할 코드; else 거짓인 경우에 실행 할 코드; |
// if문 예시
/*
* 숫자를 입력하세요. : 33
* 양수
* 홀수
*
* 숫자를 입력하세요. : -12
* 음수
* 짝수
*/
namespace IfElse
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("숫자를 입력하세요. : ");
string input = Console.ReadLine();
int number = Int32.Parse(input);
if (number < 0)
Console.WriteLine("음수");
else if (number > 0)
Console.WriteLine("양수");
else
Console.WriteLine("0");
if (number % 2 == 0)
Console.WriteLine("짝수");
else
Console.WriteLine("홀수");
}
}
}
/*
* if 중첩문 예시
*
* 숫자를 입력하세요. : 11
* 0보다 큰 홀수.
*
* 숫자를 입력하세요. : 4
* 0보다 큰 짝수.
*
* 숫자를 입력하세요. : -10
* 0보다 작거나 같은 수.
*/
namespace IfIf
{
internal class Program
{
static void Main(string[] args)
{
Console.Write("숫자를 입력하세요. : ");
string input = Console.ReadLine();
int number = Convert.ToInt32(input);
if (number > 0)
{
if (number % 2 == 0)
Console.WriteLine("0보다 큰 짝수.");
else
Console.WriteLine("0보다 큰 홀수.");
}
else
{
Console.WriteLine("0보다 작거나 같은 수.");
}
}
}
}
2. switch
switch (조건식) { case 상수1 : // 조건식 == 상수1? // 실행할 코드 break; case 상수2 : // 조건식 == 상수2? // 실행할 코드 break; case 상수N : // 조건식 == 상수N? // 실행할 코드 break;: default : // 조건식이 어떤 경우와도 맞지 않은 경우, default 절은 생략 가능함 // break; } |
/*
* switch문 예제
*
* 요일을 입력하세요. (일,월,화,수,목,금,토) : 화
* Tuesday
*
* 요일을 입력하세요. (일,월,화,수,목,금,토) : 사
* 사는(은) 요일이 아닙니다.
*/
namespace Switch
{
internal class Program
{
static void Main(string[] args)
{
Console.Write("요일을 입력하세요. (일,월,화,수,목,금,토) : ");
string day = Console.ReadLine();
switch (day)
{
case "일":
Console.WriteLine("Sunday");
break;
case "월":
Console.WriteLine("Monday");
break;
case "화":
Console.WriteLine("Tuesday");
break;
case "수":
Console.WriteLine("Wednesday");
break;
case "목":
Console.WriteLine("Thursday");
break;
case "금":
Console.WriteLine("Friday");
break;
case "토":
Console.WriteLine("Saturday");
break;
default:
Console.WriteLine($"{day}는(은) 요일이 아닙니다.");
break;
}
}
}
}
/*
* switch 예제 2
*
* 123
* 123는 int 형식입니다.
*
* 123.45
* 123.45는 float 형식입니다.
*
* 안녕하세요
* 안녕하세요는 모르는 형식입니다.
*/
namespace Switch2
{
internal class Program
{
static void Main(string[] args)
{
object obj = null;
string s = Console.ReadLine();
if (int.TryParse(s, out int out_i))
obj = out_i;
else if (float.TryParse(s, out float out_f))
obj = out_f;
else
obj = s;
switch (obj)
{
case int i:
Console.WriteLine($"{i}는 int 형식입니다.");
break;
case float f:
Console.WriteLine($"{f}는 float 형식입니다.");
break;
default:
Console.WriteLine($"{obj}는 모르는 형식입니다.");
break;
}
}
}
}