1. if문
if 문은 괄호() 안의 조건이 참(True)인지 거짓(False)인지 비교하여 판단하는 조건문이다.
만일 조건이 참이면 코드 블럭{} 안의 코드가 실행되고, 그렇지 않으면 코드블럭{} 밖으로 빠져나가 다음 코드라인을 읽는다.
앞선 포스팅에서 '=' 기호를 변수에 값을 할당할 때 사용했다.
값이 서로 같은지 비교할 때는 '==' 기호를 사용하여 비교한다.
string name = "Regina";
if (name == "Regina")
{
Console.WriteLine(name == "Regina");
}
// 출력 결과 : True
값이 서로 다른지 비교할 때는 '!=' 기호를 사용하여 비교한다.
만일 출력문에서 '==' 이 아닌 '!=' 를 사용한다면 False가 출력될 것이다.
string name = "Regina";
if (name == "Regina")
{
Console.WriteLine(name != "Regina");
}
// 출력 결과 : False
다음 경우는 조건이 거짓이므로 코드블럭{} 내의 출력문이 실행되지 않고,
"What's her name?"이 출력된다.
string name = "Regina"
if (name != "Regina")
{
Console.WriteLine(name == Regina);
}
Console.WriteLine("What's her name?");
2. if ~ else if 문
else if 는 if 문이 반드시 선행되어야 한다.
'만일 if 문의 조건에 해당하지 않으면, 이 조건은 어때?' 하는 의미로 사용된다.
if 문과 마찬가지로 else~if 문의 괄호() 내 조건이 참인지 거짓인지에 따라 괄호 내 코드를 실행할지 건너뛸지가 결정된다.
else if 문은 if 문 없이 단독으로 사용될 수 없으며,
if 문 뒤에 else if 문이 코딩되어 있는 경우, if 문의 코드 블록{} 을 빠져나가 다음 라인인 else if 문을 읽게 된다.
구조 :
if ()
{
}
else if ()
{
}
예시 :
string name = "Regina";
if (name == "Christina") // 조건에 충족하지 않음, False
{
Console.WriteLine($"Her name is {name}"); // 실행 X
} else if (name == "Regina") // 조건에 충족함, True
{
Console.WriteLine($"Her name is {name}"); // 실행 O
}
출력 결과 :
Her name is Regina
3. if ~ else if ~ else 문
else 문은 if 문이 반드시 선행되어야 하나 else if 문은 생략이 가능하다.
앞선 조건 중 어느것도 충족하지 않으면 else 문의 코드블럭{} 을 수행하라는 의미이다.
위 코드로 콘솔 프로젝트 실행 시,
입력하는 값이 Regina 인지 Christina 인지, 아무 문자나 입력한 값인지에 따라 콘솔에 출력되는 문자가 다르다.
만일 아무 문자나 입력했다면 제일 하단의 I don't know! 가 출력될 것이다.
Console.WriteLine("What is her name?");
string name = Console.ReadLine();
if (name == "Regina") // string 변수를 string 문자열과 비교, 맞다면?
{
Console.WriteLine($"Her name is {name}");
} else if (name == "Christina") // 조건 2, 맞다면?
{
Console.WriteLine($"her name is {name}");
} else // 모든 조건에 해당하지 않는다면?, Regina도, Christina 도 아니라면?
{
Console.WriteLine("I don't know!");
}
4. switch 문
switch 문 다음에 오는 괄호 안에는 앞으로 이 구문에서 비교할 기준이 되는 값을 삽입한다.
그리고 해당 값을 각 case 문에 입력한 값과 비교하여 해당 case 문을 수행한다.
case 문의 콜론(:) 뒤 코드에 중괄호{}는 생략이 가능하다.
defualt 문은 어느 case에도 해당되지 않으면 수행하는 구문으로 else 문과 같은 역할을 한다.
모든 case 문의 마지막에는 반드시 break; 문이 작성되어야 한다.
break 문의 의미는 "이 case 가 맞고, 이 case 문을 수행하였으니, 더 이상 아래로 내려가지 말고 여기서 중단하라."와 같다.
위에서 if 문으로 작성한 예시 로직과 동일한 로직으로 작성하였다. (아래)
string name = "Regina";
switch (name)
{
case "Christina":
{
Console.WriteLine($"Her name is {name}");
break;
}
case "Regina":
{
Console.WriteLine($"Her name is {name}");
break;
}
default:
Console.WriteLine("I don't know!");
break;
}
출력 결과 :
Her name is Regina
5. 삼항 연산자
삼항 연산자의 구문은 다음과 같다.
(조건)? 참이면 실행할 구문 : 거짓이면 실행할 구문;
조건의 괄호()는 생략이 가능하다.
사용 예시 :
// 만일 이름이 Regina와 같다면 age 변수에 25를 할당하고, 아니라면 99를 할당하라.
string name = "Regina";
int age = name == "Regina"? 25 : 99;
age 를 콘솔에서 출력해 보면, name 변수의 값이 "Regina" 가 맞으니 25 가 출력된다.
'Language > C#' 카테고리의 다른 글
[C#] 중급 문법 - 데이터 타입 (Data Type), 데이터 클래스와 null 핸들링, 그리고 enum (0) | 2023.09.01 |
---|---|
[C#] 기초 문법 - 반복문 (while, for, foreach) & 무한루프 (0) | 2023.09.01 |
[C#] Console의 값 읽기 - ReadLine() & Read() (0) | 2023.08.31 |
[C#] Type Casting - Convert.ToType() (0) | 2023.08.30 |
[C#] 기초 문법 - 숫자형 변수의 형변환 (0) | 2023.08.30 |