for 반복문
- 초기화, 조건식, 증감연산 으로 구성된 반복문
✅몇 회 어떤 기능을 반복해!
for (초기식; 조건식; 증감연산)
for (int i = 0; i < 10; i++)
{
Console.WriteLine("반복 작업 {0}", i);
}
for (int i = 5; i > 0; i--)
{
Console.WriteLine("카운트 다운 {0}", i);
}
✅반복문 속에 조건문을 넣을 수 있음
Console.WriteLine("삼육구!");
for (int i = 1; i < 10; i++)
{
if (i % 3 == 0)
{
Console.WriteLine("짝!!");
}
else
{
Console.WriteLine("{0}", i);
}
}
✅반복문 속에 반복문
Console.WriteLine("구구단!");
for (int dan = 2; dan <= 9; dan++)
{
Console.WriteLine(" {0}단!", dan);
for (int number = 1; number <= 9; number++)
{
Console.WriteLine("{0} * {1} 는 {2}", dan, number, dan * number);
}
Console.WriteLine();
}
반복문 while
- 조건식의 true, false에 따라 블록을 반복하는 반복문
✅동전교환기
int coin = 500;
while (coin > 0)
{
Console.WriteLine("100원 동전을 꺼냅니다.");
coin -= 100;
}
int count = 0;
bool flag = true;
int toLoop = 10;
while (flag)
{
Console.WriteLine($"현재 {count}회 작동중입니다. ");
count++;
if (count > toLoop)
{
flag = false;
Console.WriteLine("정비가 되어야 할 장비!");
}
}
do while 반복문
- 블록을 한번 실행 한 후 조건식의 true, false에 따라 블록을 반복하는 반복문
✅일단 한번 실행 한 후 조건을 확인함
int choice;
do
{
Console.WriteLine("1에서 9사이의 수를 입력하세요 : ");
string input = Console.ReadLine();
int.TryParse(input, out choice);
} while ((1 <= choice && choice <= 9) == false);
✅조건을 미리 확인 하고 실행이 불가능 하기 때문에 오류 -> do while을 사용해야함
break 제어문
✅반복문 while 키워드 [break] 가장 가까운 반복문을 멈추고 넘어감
✅무한히 증가하다가 조건이 맞으면 멈추는 기능 제작
while (true)
{
Console.WriteLine("1");
Console.WriteLine("2");
Console.WriteLine("3");
Console.WriteLine("4");
break;
Console.WriteLine("5");
Console.WriteLine("6");
Console.WriteLine("7");
Console.WriteLine("8");
}
int potionPos = 5;
for (int i = 1; i < 1000; i++)
{
Console.WriteLine("{0}번째칸에 포션이 있는지 확인합니다.", i);
if (i == potionPos)
{
Console.WriteLine("포션을 찾았습니다.");
Console.WriteLine("포션을 찾았습니다.");
break;
}
}
while (true)
{
Console.WriteLine("1. 공격한다 2. 방어한다 3. 도망친다 ");
Console.Write("행동을 선택하세요 : ");
string input = Console.ReadLine();
if (input == "1")
{
Console.WriteLine("플레이어가 공격합니다.");
}
else if (input == "2")
{
Console.WriteLine("플레이어가 방어합니다.");
}
else if (input == "3")
{
Console.WriteLine("플레이어가 도망칩니다..");
break;
}
else
{
Console.WriteLine("잘못 입력했습니다.");
}
Console.WriteLine();
}
int num = 35;
for (int i = 2; i < num; i++)
{
if (num % i == 0)
{
Console.WriteLine($"{num}을 나눌 수 있는 가장 작은 수는 {i}이다");
break;
}
}
continue 제어문
while (true)
{
Console.WriteLine("1");
Console.WriteLine("2");
Console.WriteLine("3");
continue;
Console.WriteLine("4");
Console.WriteLine("5");
Console.WriteLine("6");
}
✅4번 플레이어가 무적이야, 6번 플레이어는 내 캐릭이야.
for (int i = 1; i <= 8; i++)
{
if (i == 4)
{
Console.WriteLine("4번 플레이어는 무적이라 공격하지 못합니다.");
continue;
}
if (i == 6)
{
Console.WriteLine("6번 플레이어는 내 캐릭터라서 공격하지 않습니다.");
continue;
}
Console.WriteLine("{0}번 플레이어를 공격합니다.", i);
}
디버거
✅디버거 F11 눌러서 한단계 한단계씩 진행사항을 확인할 수 있음.
✅F9를 누르거나 왼쪽 회색 새로바에 빨간색 중단점을 찍으면, F5 실행시 빨간 점 부분에서 멈춤
int value = 0;
int attack = 100;
int level = 1;
value++;
value++;
value++;
attack++;
Console.WriteLine(value);
value++;
value++;
value++;
level++;
Console.WriteLine(value);
value++;
value++;
value++;
value++;
level++;
value++;
Console.WriteLine(value);
✅디버거가 필요한 이유 -> 컴퓨터가 완전무결하지는 않다. 오차,한계가 있을수 있다.
uint value = 170;
while (true)
{
value *= 2;
Console.WriteLine(value);
}
✅정상적으로 나오다가 0이 무한이 출력. uint가 표현할 수 있는 범위를 넘어섬