안녕하세요. 애드라이프 입니다.
2주째 C# 관련포스팅을 작성하고 있습니다!
조금씩 조회수가 올라가고 있는걸 보니 뿌듯하네요.
이전 포스팅에서 엄청나게 많은 연산자를 다루었습니다.
종류만해도 너무너무 많았는데요.
가볍게 개념만 익히셔도 나중에는 찾아서 용도에 맞게
프로그래밍 하시기만 하면됩니다.
이전 포스팅이 궁금하신 분들은 하단 링크 참고 부탁드립니다.
C# 프로그램 시작하기 - 연산자! 놓치지 마세요. #5
안녕하세요. 애드라이프 입니다. 저번 포스팅을 마지막으로 문자열까지 다뤘는데요. 이전 포스팅이 궁금하신 분들은 아래 링크 참고해주세요., C# 문자열 파헤치기 <- 링크1 C# 프로그램 시작하기 - 문자열 파헤..
increase-life.tistory.com
이번 포스팅에서는 메인사진을 보면 아시겠지만
조건문(분기문)에 대해서 다룰 예정입니다.
말이 조건이니 분기니 하는거지
if문 같은거 말하는겁니다!!
ㅎㅎㅎ
바로 들어가 보겠습니다.
if, else, else if 프로그램을 한번이라도 접한사람은 매우 익숙한 문구일겁니다. if문은 조건문이 참일때 실행되는 부분을 가진 구조입니다.
[ if 예시 ] if( 조건문 ) //-> 실행부분이 한줄일때 참인경우 실행되는 부분;
if( 조건문 ) // -> 실행부분이 여러줄일때 { 참인경우 실행되는 부분; } 당연히 조건문 부분은 bool형식의 참과 거짖의 값을 가집니다.
그렇다면 아래와 같은 경우는 어떨까요? if(a==1) WriteLine("일"); if(a!=1) WriteLine("일아님");
그냥보면 별 문제 없어보이는 코드입니다. 하지만 프로그램 입장에서 보면 쓸때없는 행동을 반복하는 것처럼 보입니다. 만약 a가 2라면 첫번째 조건문인 a==1의 조건도 검토를하고 두번째 조건인 a!=1d일도 검토를 하게됩니다.
이런 경우 좀 더 군더더기가 없는 코드는 else를 사용하는 것이죠 if(a==1) WriteLine("일"); else WriteLine("일아님");
이런식으로 프로그램을 작성하게되면 한번의 검토로 원하는 결과를 얻을 수 있게됩니다.
하지만 if 와 else로는 두가지 조건밖에 다룰수 없습니다. 조건을 여러개 다뤄야 할 경우 else if구문을 사용하면 됩니다. if(a==1) WriteLine("일"); else if(a==2) WriteLine("이"); else WriteLine("나머지");
이런식으로 쓴다면 해당 조건에 맞는 부분만 검토되면서 프로그램의 공수를 줄이는 좋은 구문이 완성됩니다. |
if, else, else if문이 좀 익숙해 지셨나요?
그렇다면 응용으로 중첩 if문을 살펴 보겠습니다.
이 또한 말이 중첩이지 if문 안에 if문이 있을뿐입니다.
int x = 5;
if(x<100){
if(x<10){
WriteLine("x는 10보다 작음");
{
else{
WriteLine("x는 10보다 크고 100보다 작음");
{
}
else{
WriteLine("x는 100보다 큼");
}
이런식으로 말이죠?
하지만 if문을 계속해서 중첩해서 사용하는것은
피해야 합니다. 프로그램을 하는 사람들에게
불문율 처럼 따라오는말이 있습니다.
"좋은 프로그램은 다른사람이 보기편한 것이다."
그만큼 가독성에 대해 중요시하는 측면이 있는데요.
조건문(분기문)을 계속해서 중첩으로 사용한다면
처음부터 결과를 알고 프로그램을 작성한 사람이 아니라면
알아보기 매우 어렵게 됩니다.
이와 비슷한 역할을 하는 구문이 하나 더 있습니다.
바로 switch case문입니다.
저 같은 경우 조건이 많아지면 if문 보다는 switch case문을 선호는데요.
우선 그 이유를 설명하기 전에 switch case문의 구조를 보겠습니다.
//정수형 case문 예시
int num = 1;
switch(num)
{
case 1:
WriteLine("일");
break;
case 2:
WriteLine("이");
break;
case 3:
WriteLine("삼");
break;
default:
WriteLine("이외");
break;
}
//문자열 case문 예시
String numstr = "일";
switch(num)
{
case "일":
WriteLine("1");
break;
case "이":
WriteLine("2");
break;
case "삼":
WriteLine("3");
break;
default:
WriteLine("Other than");
break;
}
예시에 보는것 처럼 정수형식과 문자열 형식 두가지 모두 사용할 수 있습니다.
아까 말하려던 내용인데 제가 왜 switch case문을 선호하냐면
if문보다 훨신 가독성이 뛰어나기 때문입니다.
개인적인 취향이기 때문에 꼭 어떤게 좋다라고 말할수는 없지만
저는 그렇다는 말입니다!!
이번 포스팅부터 본격적으로 프로그램의 제어부분을
다루기 시작했습니다. 아직 기본 단계이긴 하지만
지금까지 앞선 포스팅의 내용을 모두 습득하셨다면
어느정도 어깨를 펴도 괜찮지 않을까요?
지금까지 조건문(분기문)에 대한 포스팅이였습니다.
다음에는 더욱 유익한 포스팅으로 돌아오겠습니다.
by 애드라이프
'C# 프로그래밍 > 기초 다지기' 카테고리의 다른 글
C# 프로그램 시작하기 - Jump문 알아보기 #8 (0) | 2020.04.18 |
---|---|
C# 프로그램 시작하기 - 반복문(루프문) 다루기 #7 (0) | 2020.04.16 |
C# 프로그램 시작하기 - 연산자! 놓치지 마세요. #5 (0) | 2020.04.13 |
C# 프로그램 시작하기 - 문자열 파헤치기 #4-5 (0) | 2020.04.11 |
C# 프로그램 시작하기 - 문자열 파헤치기 #4 (0) | 2020.04.10 |