0309 문(Statement)
2021. 3. 9. 16:58ㆍC#/수업내용
문은 프로그램 명령, 순서대로 실행된다.
프로그램 문이 실행되는 순서를 '제어흐름' 또는 '실행 흐름'
제어 흐름은 프로그램이 런타임 시 수신하는 입력에 대응하는 방식에 따라 프로그램 실행마다 달라진다.
{시작
{중첩 블록
}
}끝
선택문: if-else, switch
- if-else: bool 의 값에 따라서 선택하는 문
static void Main(string[] args)
{
int heroHp = 10;
string heroName = "홍길동";
heroHp -= 100;
Console.WriteLine("name: {0}, hp{1}", heroName, heroHp);
if (heroHp <= 0) {
Console.WriteLine("{0}님이 사망했습니다.", heroName);
heroHp = 0;
Console.WriteLine("name: {0}, hp: {1}", heroName, heroHp);
};
}
static void Main(string[] args)
{
int reinforcePercent = 13;
Random rand = new Random();
int num = rand.Next(0, 101);
if (num > reinforcePercent)
{
//강화 성공
}
else {
//강화 실패
}
}
int reinforcePercent = 13;
Random rand = new Random();
int num = rand.Next(0, 101);
int gold = 1000;
if (num > reinforcePercent)
{
//강화 성공
if (gold > 2000)
{
//돈이 있다면
}
}
else
{
//강화 실패
}
{
int reinforcePercent = 13;
Random rand = new Random();
int num = rand.Next(0, 101);
int gold = 1000;
if (num > reinforcePercent&&gold>20000)
{
//강화 성공+돈이 있다면
}
else
{
//강화 실패
}
}
같은 결과 도출
- 중첩 해서 사용 가능한 if-else (nested if-else)
string fruitName = "샤인머스캣";
if (fruitName == "바나나")
{
}
else if (fruitName == "복숭아")
{
}
else if (fruitName == "수박")
{
}
else if (fruitName == "포도")
{
}
else
{
};
- switch : 조건문을 이용하여 실행할 switch 섹션 하나를 선택
단일식이 세 개 이상의 조건문일시 else if 보다 switch 문을 사용하는 경우가 많다. (내용은 같음)
위에서 순차적으로 비교하면서 내려간다.
string fruitName = "샤인머스켓";
switch(fruitName){
case "포도":
Console.WriteLine("포도입니다.");
break;
case "바나나":
Console.WriteLine("바나나입니다.");
break;
case "수박":
Console.WriteLine("사과입니다.");
break;
default:
Console.WriteLine("{0}입니다.", fruitName);
break;
}
반복문 : for,while,foreach
- for문 : 지정된 bool 식이 true로 계산되는 동안 문을 반복 실행.
- for (initializer; condition; iterator) {body}
- initializer 한 번만 실행
- iterator 본문이 false가 될 때까지 루프되는 부분
static void Main(string[] args)
{
for (int i = 0; i < 5; i++) {
Console.WriteLine("줄넘기를 {0}회 했습니다.", i+1);
}
//줄넘기를 1회 했습니다.
//줄넘기를 2회 했습니다.
//줄넘기를 3회 했습니다.
//줄넘기를 4회 했습니다.
//줄넘기를 5회 했습니다.
}
int count = 0;
for (int i = 0; i < 5; i++) {
Console.WriteLine("줄넘기를 {0}회 했습니다.", i+1);
count++;
}
Console.WriteLine("총 줄넘기 한 휫수: {0}", count);
- while 문: while 안에 있는 조건문이 실행될 동안 조건식이 진행된다.
int n = 0;
while (n<5) {
Console.WriteLine(n);
n++;
- dowhile 문: do의 조건문이 true일 경우 값을 확인하고 다시 위로 올라가 조건문 확인, false가 될 때까지 반복한다.
int n = 0;
do
{
Console.WriteLine(n);
n++;
}
while (n < 5);
- foreach: 배열에서 각자의 요소들 가져오는 용도
string[] names = new string[3] { "홍길동", "임꺽정", "장길산" };
foreach (string name in names)
{
Console.WriteLine(name);
}
점프문: break, continue, goto, return
- break: 배치된 지점에서 가장 가까운 바깥쪽 루프 또는 switch문을 종료, 제어는 종료된 문의 뒤로 전달
for (int i = 1; i <= 100; i++)
{
if (i == 5) {
break;
}
Console.WriteLine(i);
}
- continue: 아랫쪽의 반복문을 실행하지 않고 가장 가까운 반복문을 반복한다.
for (int i = 1; i <= 10; i++)
{
if (i < 9) {
continue;
}
Console.WriteLine(i);
}
- return : 메서드(기능)의 실행을 종료하고 컨트롤을 호출
'C# > 수업내용' 카테고리의 다른 글
0310 if/while/switch statement복습 (0) | 2021.03.10 |
---|---|
0310 switch 문으로 캐릭터 생성 예시 (0) | 2021.03.10 |
0309 비트 연산자&삼항연산자 (0) | 2021.03.09 |
0309 연산자 (0) | 2021.03.09 |
0309 데이터 타입의 변환 (0) | 2021.03.09 |