반응형
SMALL
조건문
- 정의
- 컴퓨터 과학에서 조건문 ( conditional statements ) 이란 어떤 조건이 주어질 때 어떤 동작을 수행하도록 하는, 즉 주어진 조건의 만족 여부에 따라 선택적으로 실행하고자 할 때 사용되는 문장이다.
- 프로그램 내에서 주어진 표현식의 결과에 따라 별도의 명령을 수행하도록 제어하는 실행문이다.
- 조건문의 종류에는 if ~ else문, Switch ~ case문 이 있다.
- if문
- 정의
- if 문은 표현식의 결과가 True 이면 주어진 실행문을 실행하며, False 이면 아무것도 실행하지 않는 조건식이다.
- If문의 기본문법
- if문은 if를 시작으로 소괄호 안에 조건 중괄호 안에 조건이 True라면 실행될 연산자나 변수 재정의, return 등 다양한 실행문을 설정할 수 있다.
- 만약 조건이 false 라면 아무것도 실행하지 않는다.
--- if문 기본문법 --- int x = 8 int y = 16 if(x == y) { Console.WriteLine("x 와 y 는 같은 값입니다.") } if(x > y) { Console.WriteLine("x 는 y 보다 큽니다.") } if(x < y) // 실행될 실행문이 한줄이라면 중괄호 생략가능 Console.WriteLine("x 는 y 보다 작습니다.")
- else if 문
- else-if문은 최상단 if문 다음에 위치해야 하며 조건에 따른 실행문을 분기시킬 수 있다.
- 최하단의 else문을 통해서 주어진 조건 이외에 값일 경우에 실행 될 실행문을 정의해줄 수 있다.
--- else if문 기본문법 --- int x = 8 int y = 16 if(x == y) { Console.WriteLine("x 와 y 는 같은 값입니다.") } else if(x > y) { Console.WriteLine("x 는 y 보다 큽니다.") } else // 실행될 실행문이 한줄이라면 중괄호 생략가능 Console.WriteLine("x 는 y 보다 작습니다.")
- 정의
- if 문 순서도의 간단한 도표
- Switch Case 문
- 정의
- Java, C, C++, C#, python 등등 다양한 언어에서 사용하는 제어문 중 하나민 분기 명령이다. switch 문은 변수를 비교함에 있어서 if문 보다 가독성이 좋고 컴파일러 최적화를 쉽게 할 수 있어서 속도도 더 빠른 편이다.
- 기본 구조
Switch( 조건을 확인할 대상 ) { case : 조건 1 : // 조건을 확인 할 대상과 조건 1이 일치하면 실행문 처리 break; // switch문 종료 case : 조건 2 : Console.WriteLine("조건 2") break; default : // case들의 조건이 모두 일치하지 않는 경우 실행 break; }
- Switch에 조건을 확인 할 대상의 변수를 설정한다.
- case 옆에 조건과 변수의 값이 일치하는지 확인하고 , True 라면 실행문 실행하고 break, 아니라면 아래 구문을 실행한다.
- case 의 조건 중 충족 값이 없다면 default를 실행하고 종료한다.
- C#에서 Switch 문의 활용
- Goto문을 사용한 Fall through 기능
- Fall through 란 case 문에서 break를 걸지 않을 경우, 다음 case 문이 실행되는 것을 말한다.
int flag = 3; switch(flag) { case 1 : DoMethod1(); goto case 2; case 2 : DoMethod2(); goto default; default : DoMethod3(); break; }
- Swtich문의 패턴 매칭
- Swtich Case 문을 통하여 C# 7 에서 const pattern, type pattern, var pattern, 이라는 3가지의 패턴에 대한 타입 체크를 할 수 있다.
//type pattern Excemple object data = 5; // object data = "String"; // object data = 3.141592; // object data = DateTime.Now; // 자료형 체크 switch(data) { case System.Int32 : Console.WriteLine($"data is int : {data}"); break; case String.String : Console.WriteLine($"data is String : {data}"); break; } // 자료형 체크 및 조건 체크 switch(data) { case int i when i < 5: // data 가 int 타입이며 10보다 큰 경우 Console.WriteLine($"data is int : {data} > 10"); break; }
- Switch Expresstion
- 반복되는 case return break 형식을 간결화 시킬 수 있다.
public static string GetDay() => DateTime.Now.DayOfWeek switch { DayOfWeek.Monday => "Monday", DayOfWeek.Tuesday => "Tuesday", DayOfWeek.Wednesday => "Wednesday", DayOfWeek.Thursday => "Thursday", DayOfWeek.Friday => "Friday", _ =>"Weekend", };
- Goto문을 사용한 Fall through 기능
- 정의
기타 )
- 컴파일러 최적화 : 컴파일러에서 출력되는 실행 프로그램의 효울성을 최적화하는 과정을 말한다. 일반적으로 프로그램의 실행 속도를 최대화하거나 프로그램이 차지하는 메모리의 양을 최소화 하기 위해 많이 사용된다. 휴대용 컴퓨터 ( 노트북, 스마트폰 ) 이 성장함에 따라 프로그램에 따른 전력 소비량의 최소화도 고려된다.
참고 )
https://ko.wikipedia.org/wiki/조건문 :: 조건문 ( if 문 )
https://www.csharpstudy.com/CSharp/CSharp-conditional.aspx :: if문 , switch문
https://learn.microsoft.com/ko-kr/dotnet/csharp/language-reference/statements/selection-statements :: C# 에서 if문 , switch
https://ko.wikipedia.org/wiki/Switch_문#:~:text=switch 문은 C 언어,도 더 빠른 편이다. :: 위키백과, Switch 문
https://ko.wikipedia.org/wiki/컴파일러_최적화 :: 컴파일러 최적화
https://karupro.tistory.com/32 :: Switch 문 활용
https://www.csharpstudy.com/latest/CS7-pattern.aspx :: C# 7.0 패턴
LIST
'Programming > Cs' 카테고리의 다른 글
[ Mac, Utm ] M1, M2 맥에서 UTM Ubuntu 복사, 붙여넣기 (0) | 2024.03.06 |
---|---|
반복문 (2) | 2023.11.01 |
정수 자료형, 문자열, 논리 자료형 (1) | 2023.10.27 |
[Git] 깃허브 명령어 정리 (0) | 2022.09.17 |
[OOP] 추상화 (0) | 2022.05.15 |