조건문
크게 두 가지가 있다. if와 switch.
if 조건문
if ( 조건 ) { 실행 내용 }
간단하다. 조건이 true면 중괄호 {} 안의 내용을 실행, 아니라면 패스.
주의해야할 점은 조건에 들어가는 내용이 반드시 bool 형식이어야 한다는 것.
좀 더 엄밀히 말하면 bool 형식으로 암시적 캐스팅이 가능한 것들도 넣을 수 있다.
다른 언어들은 0(false)과 0이 아닌 것들(true)도 조건으로 가능하지만, C#의 경우 그렇지 않으니 주의할 것.
if (3 > 1) // true
{
// 조건을 만족했기에 실행
Console.WriteLine("3은 1보다 크다!");
}
if (0 > 1) // false
{
// 조건을 만족하지 못해서 실행되지 않음
Console.WriteLine("0은 1보다 크다!");
}
else if와 else
if ( 조건 ) { 실행 내용1 } else if (추가 조건) { 실행 내용2 } else if (추가 조건) { 실행 내용3 } else { 실행 내용4 }
if → else if → 다음 else if → … 순으로 조건 비교를 하게 된다.
모든 조건에 만족되지 않는다면 else의 실행 내용4를 실행.
여러 개의 추가 조건을 만족하면 어떻게 되나? 라고 생각할 수 있겠지만, 무조건 앞부터다.
앞에서부터 시작해서 제일 먼저 걸리는 조건의 실행 내용을 수행하게 된다.
int score = 60;
if (score > 90)
{
Console.WriteLine($"점수는 {score}입니다. \'A\'를 맞았습니다.");
}
else if (score > 70)
{
Console.WriteLine($"점수는 {score}입니다. \'B\'를 맞았습니다.");
}
else if (score > 50)
{
// 실행
Console.WriteLine($"점수는 {score}입니다. \'C\'를 맞았습니다.");
}
else
{
Console.WriteLine($"점수는 {score}입니다. \'F\'를 맞았습니다.");
}
switch와 case
switch ( 조건 변수 ) { case 상수조건1 : 실행내용 break; case 상수조건2 : 실행내용 break; case 상수조건3 : 실행내용 break; }
switch는 조건으로 bool 타입 자료만 받는 것이 아니라 정수와 문자열도 가능하다.
조건이 단순하고 분기가 많은 경우에는 if보다 switch를 쓰는 것이 더 보기 좋아보인다.
아무래도 if보다는 익숙하지 않기 때문에 주의할 점이 조금 있다.
- : 와 ; 사용에 주의할 것
- case에 들어가는 조건은 반드시 상수일 것
- break; 를 반드시 쓸 것
break는 뒤에 나올 반복문에서도 종종 쓰일테지만, Jump문의 일종이다.
왜 이름이 jump인지에 대해서는 어셈블리어의 관점인데, 나중에 정리할 일이 있으면 좋겠다.
아무튼 break는 현재 실행 중인 반복문이나 switch문의 중괄호 {}를 벗어나게 해주는 기능이다.
if문을 다시 들여다보면 조건마다 실행 내용에 중괄호 {}가 쳐져 있지만, switch문의 경우는 모든 case가 한 중괄호 {} 안에 있게 된다.
따라서 한 조건을 실행한 뒤에 다른 case를 더 방문하지 않고 switch문을 벗어나기 위해 작성해주는 것.
int x = 5;
switch (x)
{
case 1:
Console.WriteLine("치킨을 주문하자.");
break;
case 2:
Console.WriteLine("피자를 주문하자.");
break;
case 3:
Console.WriteLine("마라탕을 주문하자.");
break;
default:
Console.WriteLine("그냥 먹지 말자.");
break;
}
참고) 상수와 열거형
switch와 case를 사용할 때, case에 0, 1, 2, …을 활용하는 것이 불편할 수 있다.
1번이 치킨인지… 2번이 치킨인지….
해당 case가 어떤 상황을 가리키는지 잘 모를 수가 있다.
가장 기본적인 것은 다음과 같은 변수 선언이 있겠다.
int CHICKEN = 1;
int PIZZA = 2;
int MARA = 3;
하지만 다음의 변수들은 switch의 case 문에 사용할 수 없다.
상수가 아니라 변수이기 때문이다.
case에 들어가는 값이 변하면 안되기 때문에, 이해는 간다.
하지만 상수에도 이름을 붙일 수도 있지 않나?
당연히 방법이 있다.
- 상수형 사용 (const)
const int CHICKEN = 1;
const int PIZZA = 2;
const int MARA = 3;
변수 앞에 const
를 붙이면
데이터가 변수가 아니라 상수가 된다.
즉 더 이상 값을 수정할 수 없는 상태가 되는 것이다.
데이터에 접근해서 다른 값을 넣으려 하면 에러를 뱉는다.
이렇게 되면 switch의 case문에 해당 값들을 넣을 수 있게 된다.
int x = 5;
switch (x)
{
case CHICKEN:
Console.WriteLine("치킨을 주문하자.");
break;
case PIZZA:
Console.WriteLine("피자를 주문하자.");
break;
case MARA:
Console.WriteLine("마라탕을 주문하자.");
break;
default:
Console.WriteLine("그냥 먹지 말자.");
break;
}
- 열거형 (enum)
enum Menu
{
CHICKEN = 1,
PIZZA = 2,
MARA = 3
}
int x = 5;
switch (x)
{
case (int)Menu.CHICKEN:
Console.WriteLine("치킨을 주문하자.");
break;
case (int)Menu.PIZZA:
Console.WriteLine("피자를 주문하자.");
break;
case (int)Menu.MARA:
Console.WriteLine("마라탕을 주문하자.");
break;
default:
Console.WriteLine("그냥 먹지 말자.");
break;
}
다음과 같이 enum
을 사용하여 상수들을 묶어서 관리할 수 있다.
자료형이 enum이기 때문에 형변환을 한 번 거쳐줘야 되긴 하지만, 상수를 추가하거나 제거하는 등의 관리가 훨씬 용이해진다.
조건부 논리 연산자의 활용
if를 사용할 때, 논리 연산을 활용에 복잡한 조건에 대해서도 대응할 수 있다.
// 둘 다 기다리는 경우
{
bool isArrive_A = true; // 친구 A 는 도착했다!
bool isArrive_B = false; // 친구 B 는 도착하지 않았다!
// And 연산자 && 사용
if (isArrive_A && isArrive_B)
{
Console.WriteLine("식당으로 이동");
}
else
{
Console.WriteLine("친구를 기다리자");
}
}
// 둘 중 한 명만 기다리는 경우
{
bool isArrive_A = true; // 친구 A 는 도착했다!
bool isArrive_B = true; // 친구 B 도 도착했다!
// Or 연산자 || 사용
if (isArrive_A || isArrive_B)
{
Console.WriteLine("식당으로 이동");
}
else
{
Console.WriteLine("친구를 기다리자");
}
}
삼항연산자
삼항연산자라는 것이 있다.
처음 배울 때는 잘 안써먹게 되지만, 인터넷에서 여러 가지 코드를 읽다보면 삼항 연산자로 써있는 코드를 많이 볼 수 있기 때문에 익숙해지는 것이 좋다.
삼항연산자 조건 ? 맞을때 : 틀릴때
int num = 25;
bool isPair = ((num % 2) == 0 ? true : false);
연습문제3
- 입력받은 데이터가 숫자인지 문자열인지 판단.
캐스팅의 TryParse를 응용하여 만들 수 있습니다.
- 입력받은 데이터가 숫자 → “숫자입니다.
”
- 아니라면 → “문자열입니다.
”
정답
// 3-1. 입력받은 데이터가 숫자인지 문자열인지 판단 { string input = Console.ReadLine(); int data; bool isInt = int.TryParse(input, out data); if (isInt) { Console.WriteLine("숫자입니다."); } else { Console.WriteLine("문자열입니다."); } }
- 입력받는 데이터가 숫자인지 문자열인지 불리언인지 판단.
- 숫자면 “숫자입니다.
”
- true, false 면 “불리언입니다.
”
- 아니라면 “문자열입니다.
”
정답
// 3-2. 입력받은 데이터가 숫자인지 문자열인지 불리언인지 판단 { string input = Console.ReadLine(); int iData; bool bData; bool isInt = int.TryParse(input, out iData); bool isBool = bool.TryParse(input, out bData); if (isInt) { Console.WriteLine("숫자입니다."); } else if (isBool) { Console.WriteLine("불리언입니다."); } else { Console.WriteLine("문자열입니다."); } }
- 입력받은 데이터가 숫자라면 100보다 큰지 작은지 알려주는 프로그램 만들기
입력받은 데이터가 문자라면 - “숫자가 아닙니다.
”
입력받은 데이터가 숫자라면
- 수가 100 이상이라면 “xx 은(는) 100 보다 같거나 큰 수 입니다.
”
- 수가 100 보다 작다면 “xx 은(는) 100 보다 작은 수 입니다.
”
정답
// 3-3. 입력받은 데이터가 숫자라면 100 보다 큰지 작은지 알려주는 프로그램 만들기 { string input = Console.ReadLine(); int iData; bool isInt = int.TryParse(input, out iData); if (isInt) { if (iData >= 100) { Console.WriteLine($"{iData}는 100 보다 같거나 큰 수 입니다."); } else // iData < 100 { Console.WriteLine($"{iData}는 100 보다 작은 수 입니다."); } } else { Console.WriteLine("숫자가 아닙니다."); } }
- 입력받은 데이터가 숫자라면 100보다 큰지 작은지 알려주는 프로그램 만들기
입력받은 데이터가 문자라면 - “숫자가 아닙니다.
”
입력받은 데이터가 숫자라면
- 수가 짝수라면 “xx 은(는) 짝수 입니다.
”
- 수가 홀수라면 “xx 은(는) 홀수 입니다.
”
정답
// 3-4. 입력받은 데이터가 숫자라면 짝수인지 홀수인지 알려주는 프로그램 만들기 { string input = Console.ReadLine(); int iData; bool isInt = int.TryParse(input, out iData); if (isInt) { if (iData % 2 == 0) { Console.WriteLine($"{iData}는 짝수입니다."); } else // iData < 100 { Console.WriteLine($"{iData}는 홀수입니다."); } } else { Console.WriteLine("숫자가 아닙니다."); } }
연습문제4
- 숫자를 두번 입력받아서 두번 다 숫자인지 확인
- 프로그램을 처음 시작하면 “첫번째 수를 입력해 주세요.
” 메시지 출력
- 메시지를 입력하고 Enter
- “두번째 수를 입력해 주세요.
” 메시지 출력
- 메시지를 입력하고 Enter
→ 첫번째 수와 두번째 수 모두 숫자 라면 - “두 데이터는 모두 숫자입니다.
”
→ 모두 숫자가 아니라면 - “숫자가 아닙니다.
”
정답
// 4-1. 숫자를 두번 입력받아서 두번 다 숫자인지 확인 { Console.WriteLine("첫번째 수를 입력해 주세요."); string input1 = Console.ReadLine(); Console.WriteLine("두번째 수를 입력해 주세요."); string input2 = Console.ReadLine(); int iData1; int iData2; bool isInt1 = int.TryParse(input1, out iData1); bool isInt2 = int.TryParse(input2, out iData2); if (isInt1 && isInt2) { Console.WriteLine("두 데이터는 모두 숫자입니다."); } else { Console.WriteLine("숫자가 아닙니다."); } }
- 숫자를 두번 입력받아서 두번 다 숫자인지 하나만 숫자인지 확인
- 프로그램을 처음 시작하면 “첫번째 수를 입력해 주세요.
” 메시지 출력
- 메시지를 입력하고 Enter
- “두번째 수를 입력해 주세요.
” 메시지 출력
- 메시지를 입력하고 Enter
→ 첫번째 수와 두번째 수 모두 숫자 라면 - “두 데이터는 모두 숫자입니다.
”
→ 둘 중 하나만 숫자라면 - “하나의 데이터만 숫자입니다.
”
→ 숫자가 하나도 없다면 - “두 데이터 모두 숫자가 아닙니다.
”
정답
// 4-2. 숫자를 두번 입력받아서 두번 다 숫자인지 하나만 숫자인지 확인 { Console.WriteLine("첫번째 수를 입력해 주세요."); string input1 = Console.ReadLine(); Console.WriteLine("두번째 수를 입력해 주세요."); string input2 = Console.ReadLine(); int iData1; int iData2; bool isInt1 = int.TryParse(input1, out iData1); bool isInt2 = int.TryParse(input2, out iData2); if (isInt1 && isInt2) { Console.WriteLine("두 데이터는 모두 숫자입니다."); } else if (isInt1 || isInt2) { Console.WriteLine("하나의 데이터만 숫자입니다."); } else { Console.WriteLine("숫자가 아닙니다."); } }
- 숫자를 두번 입력받아서 두 수를 비교
- 프로그램을 처음 시작하면 “첫번째 수를 입력해 주세요.
” 메시지 출력
- 메시지를 입력하고 Enter
- “두번째 수를 입력해 주세요.
” 메시지 출력
- 메시지를 입력하고 Enter
- 둘 중 하나라도 숫자가 아니라면 - “두 개의 숫자를 입력해주세요.
”
- 첫번째 수와 두번째 수 모두 숫자 라면
- 첫번째 수와 두번째 수가 같다면 - ”xx 와(과) xx 은(는) 같습니다.
”
- 첫번째 수와 두번째 수가 다르다면
- 첫번째 수가 더 크다 - “xx 은(는) xx 보다 큽니다.
”
- 첫번째 수가 작다 - “xx 은(는) xx 보다 작습니다.
”
정답
// 4-3. 숫자를 두번 입력받아서 두 수를 비교 { Console.WriteLine("첫번째 수를 입력해 주세요."); string input1 = Console.ReadLine(); Console.WriteLine("두번째 수를 입력해 주세요."); string input2 = Console.ReadLine(); int iData1; int iData2; bool isInt1 = int.TryParse(input1, out iData1); bool isInt2 = int.TryParse(input2, out iData2); if (isInt1 && isInt2) { if (iData1 > iData2) Console.WriteLine($"{iData1} 은(는) {iData2} 보다 큽니다."); else if (iData1 < iData2) Console.WriteLine($"{iData1} 은(는) {iData2} 보다 작습니다."); else // iData1 == iData2 Console.WriteLine($"{iData1} 와(과) {iData2} 은(는) 같습니다."); } else { Console.WriteLine("두 개의 숫자를 입력해 주세요."); } }
연습문제5
- 퀴즈를 내서 정답을 맞추는 프로그램 작성
Q. 대한민국의 수도는 어디인가요? 1.인천 2.평창 3.서울 4.부산
- 입력한 데이터가 숫자가 아니라면 - “숫자가 아닙니다.
”
- 1 ~ 4 가 아니라면 - “1~4 의 숫자를 입력해주세요.
”
- 1 ~ 4 의 숫자일때
→ 정답이 아니라면 - “오답입니다!
”
→ 정답이라면 - “정답입니다
!”
정답
// 5-1. 퀴즈를 내서 정답을 맞추는 프로그램 작성 { Console.WriteLine("Q. 대한민국의 수도는 어디인가요?"); Console.WriteLine("1.인천 2.평창 3.서울 4.부산"); string input = Console.ReadLine(); int iData; bool isInt = int.TryParse(input, out iData); if (isInt) { if (iData < 1 || iData > 4) Console.WriteLine("1~4의 숫자를 입력해주세요."); else // 1 <= iData <= 4 { if (iData == 3) Console.WriteLine("정답입니다!"); else Console.WriteLine("오답입니다!"); } } else Console.WriteLine("숫자가 아닙니다."); }
- 주어진 보기를 선택하면 해당하는 선택지에 맞는 메시지 출력
어디로 여행을 가고 싶나요? 1.제주도 2.코타키나발루 3.싱가포르 4.태국
- 입력한 데이터가 숫자가 아니라면 - “숫자가 아닙니다.
”
- 1 ~ 4 가 아니라면 - “1~4 의 숫자를 입력해주세요.
”
- 1 ~ 4 의 숫자라면
→ 제주도
“제주도는 한국의 섬으로 비교적 방문이 쉽고 다양한 놀거리/먹거리가 준비되어 있습니다.
”
→ 코타키나발루
“코타키나발루는 말레이시아 사바주의 주도로, 말레이시아 동부 보르네오섬 최대의 도시입니다.
”
→ 싱가포르
”싱가포르는 동남아시아, 말레이 반도의 끝에 위치한 섬나라이자 항구 도시로 이루어진 도시 국가입니다.
”
→ 태국
”태국은 중국문화, 말레이문화, 불교문화, 힌두문화, 이슬람 문화가 혼재되어 있습니다. 불교적인 모습을 많이 띄지만, 문화 자체는 색다르고 스펙트럼이 넓은 형태를 띄고 있어요.
”
정답
// 5-2. 주어진 보기를 선택하면 해당하는 선택지에 맞는 메시지 출력 { Console.WriteLine("어디로 여행을 가고 싶나요?"); Console.WriteLine("1.제주도 2.코타키나발루 3.싱가포르 4.태국"); string input = Console.ReadLine(); int iData; bool isInt = int.TryParse(input, out iData); if (isInt) { switch (iData) { case 1: Console.WriteLine("제주도는 한국의 섬으로 비교적 방문이 쉽고 다양한 놀거리/먹거리가 준비되어 있습니다."); break; case 2: Console.WriteLine("코타키나발루는 말레이시아 사바주의 주도로, 말레이시아 동부 보르네오섬 최대의 도시입니다."); break; case 3: Console.WriteLine("싱가포르는 동남아시아, 말레이 반도의 끝에 위치한 섬나라이자 항구 도시로 이루어진 도시 국가입니다."); break; case 4: Console.WriteLine("태국은 중국문화, 말레이문화, 불교문화, 힌두문화, 이슬람 문화가 혼재되어 있습니다. 불교적인 모습을 많이 띄지만, 문화 자체는 색다르고 스펙트럼이 넓은 형태를 띄고 있어요."); break; default: Console.WriteLine("1~4 의 숫자를 입력해주세요."); break; } } else Console.WriteLine("숫자가 아닙니다."); }
반복
for
와 while
, do while
이 있다. 전부 무지막지하게 자주 쓴다.
for
for ( 초기화 ; 조건 ; 변화 ) { 실행 내용 }
보통은 기본 형태인 for (int i = 1; i <= 10; ++i)
로 기억할테지만,
객체가 섞이기 시작하면 변형이 굉장히 많이 일어나니 원래 모습에 충실하자.
다음은 1부터 10까지 출력하는 함수다.
for (int i = 1; i <= 10; ++i)
{
Console.WriteLine(i); // 조건을 만족하는한 계속 반복됩니다.
}
while
초기화 while ( 조건 ) { 변화 실행 내용 }
초기화와 변화를 직접 해줘야 함에 주의.
역시 for랑 동일한 동작을 수행하게 할 수 있다.
int i = 1; // 1부터 세기 시작
while (i <= 10) // 10까지 셀것
{
Console.WriteLine(i);
i++; // +1 씩 증가
}
뭔가 for가 더 명시적이고 편하겠지만, while이 더 편한 경우가 생각보다 자주 있다.
강의안에는 외부의 조건에 의해 영향 받을때 사용한다고 되어 있는데, 쉽게 말하면 해당 반복문 중괄호 {} 안에서 조건을 컨트롤 하기 힘든 경우에 사용하면 좋다는 것D이다.
do while
초기화 do { 변화 실행 내용 } while ( 조건 );
while이랑 거의 똑같지만, 조건체크가 먼저냐 중괄호 {} 실행이 먼저냐의 차이.
전위 연산과 후위 연산의 차이랑 비슷하다 해야하나?
쓸 데 없어보이지만, 조건체크 전에 중괄호 {}를 실행해야하는 상황이 반드시 필요할 때가 있다.
뭔가 while로 아무리 짱구굴려도 설계가 안되는 상황에 떠올린다면 좋은.
연습문제6
- 구구단 2단을 만들기
반복 문을 활용하여 구구단 2단을 만듭니다.
정답
// 6-1. 구구단 2단을 만들기 { for (int i = 2; i < 10; ++i) Console.WriteLine($"2 x {i} = {i * 2}"); }
- 입력받은 데이터로 구구단 만들기
숫자를 하나 입력받아서 2~9 까지 곱한 결과를 나타냅니다.
→ 입력받은 데이터가 숫자가 아니라면 - “숫자가 아닙니다.
”
정답
// 6-2. 입력받은 데이터로 구구단 만들기 { Console.WriteLine("출력하고 싶은 단을 입력해주세요."); string input = Console.ReadLine(); int num; bool isInt = int.TryParse(input, out num); if (isInt == false) Console.WriteLine("숫자가 아닙니다."); else // isInt == true for (int i = 2; i < 10; ++i) Console.WriteLine($"{num} x {i} = {num * i}"); }
- 피보나치 수열 구하기
피보나치 수열 10개까지 출력하기
정답
// 6-3. 피보나치 수열 구하기 { int num1 = 1; int num2 = 1; Console.Write(num1 + " "); Console.Write(num2 + " "); for (int i = 2; i < 10; ++i) { if (i % 2 == 0) { num1 += num2; Console.Write(num1 + " "); } else // i % 2 != 0 { num2 += num1; Console.Write(num2 + " "); } } }
- 입력받은 수만큼 피보나치 수열 구하기
숫자를 입력하면 입력한 숫자만큼 피보나치 수열 출력하기
- 최초 메시지 출력 - “
몇개의 피보나치 수열을 출력하고 싶으신가요?
”
- 입력받은 데이터가 숫자가 아니라면 - “
숫자가 아닙니다.
- 숫자가 0 이하라면 - “
양수를 입력해주세요.
”
- 숫자가 47 이상이라면? - “
숫자가 너무 큽니다.
”
정답
// 6-4. 입력받은 수만큼 피보나치 수열 구하기 { Console.WriteLine("몇개의 피보나치 수열을 출력하고 싶으신가요?"); string input = Console.ReadLine(); int num; bool isInt = int.TryParse(input, out num); if (isInt == false) Console.WriteLine("숫자가 아닙니다"); else // isInt == true { if (num >= 47) Console.WriteLine("숫자가 너무 큽니다."); else if (num <= 0) Console.WriteLine("양수를 입력해주세요."); else { int num1 = 1; int num2 = 1; Console.Write(num1 + " "); Console.Write(num2 + " "); for (int i = 2; i < num; ++i) { if (i % 2 == 0) { num1 += num2; Console.Write(num1 + " "); } else // i % 2 != 0 { num2 += num1; Console.Write(num2 + " "); } } } } }
연습문제7
- 이름 입력하기
이름을 입력하여 3글자 이상 10글자 이하의 이름을 입력할 수 있는 프로그램을 작성합니다.
- 최초 메시지 출력 - “
이름을 입력해주세요. (3~10글자)
”
- 이름이 3글자 미만, 10글자 초과라면 - “
이름을 확인해주세요.
”
- 올바르게 입력했다면 - “
안녕하세요! 제 이름은 xxx 입니다.
”
- 문자열의 .Length 기능을 이용하면 현재 문자열이 몇글자인지 알 수 있습니다.
정답
// 7-1. 이름 입력하기 { Console.WriteLine("이름을 입력해주세요. (3~10글자)"); string input = Console.ReadLine(); if (input.Length < 3 || input.Length > 10) Console.WriteLine("이름을 확인해주세요."); else Console.WriteLine($"안녕하세요. 제 이름은 {input} 입니다."); }
- 조건에 맞을때 까지 이름 입력
1번의 프로그램을 작성하면 3~10글자의 이름을 입력하지 않았을 때 이름을 확인해주세요.
메시지 이후 프로그램이 종료됩니다.
이름을 올바르게 입력할 때까지 실행되도록 적용해보세요
반복문과 bool을 이용하여 만들 수 있습니다.
정답
// 7-2. 조건에 맞을때 까지 이름 입력 { bool isValid = false; while (isValid == false) { Console.WriteLine("이름을 입력해주세요. (3~10글자)"); string input = Console.ReadLine(); if (input.Length < 3 || input.Length > 10) Console.WriteLine("이름을 확인해주세요."); else { Console.WriteLine($"안녕하세요. 제 이름은 {input} 입니다."); isValid = true; } } }
- 반복시 기존 내용 지우기
2번의 프로그램을 작성하면 매번 새로운 텍스트가 생기게 됩니다. Console.Clear(); 기능을 활용하면 기존에 Console에 표시되던 메시지를 지울 수 있습니다.
정답
// 7-3. 반복시 기존 내용 지우기 { bool isValid = false; while (isValid == false) { Console.WriteLine("이름을 입력해주세요. (3~10글자)"); string input = Console.ReadLine(); Console.Clear(); if (input.Length < 3 || input.Length > 10) Console.WriteLine("이름을 확인해주세요."); else { Console.WriteLine($"안녕하세요. 제 이름은 {input} 입니다."); isValid = true; } } }
break와 continue
break;
는 가장 안쪽 반복문을 끝낼 때 사용하고
continue;
는 가장 안쪽 반복문에서 다음 iteration으로 넘어가는 역할을 한다.
for (int i = 0; i < 5; i++)
{
if (i == 3)
{
break;
}
Console.WriteLine(i + "번째 반복입니다.");
}
// "0 번째 반복입니다."
// "1 번째 반복입니다."
// "2 번째 반복입니다."
for(int i = 0 ; i < 5 ; i++)
{
if(i == 3)
{
continue;
}
Debug.Log(i + "번째 반복입니다.");
}
// "0 번째 반복입니다."
// "1 번째 반복입니다."
// "2 번째 반복입니다."
// "4 번째 반복입니다."
둘 다 jump문이라고 한다.
어셈블리어 관점에서 코드 사이를 뛰어 넘어다니기 때문에 jump문이라고 이름이 붙여져 있다.
자세한 것은 다음 링크를 참고.
Uploaded by N2T
'개발 > Unity 내일배움캠프 TIL' 카테고리의 다른 글
[내일배움단] 사전캠프 C# TIL 6. 함수 (0) | 2023.07.21 |
---|---|
[내일배움단] 사전캠프 C# TIL 5. 배열 (0) | 2023.07.21 |
[내일배움단] 사전캠프 C# TIL 3. 연산자 (0) | 2023.07.19 |
[내일배움단] 사전캠프 C# TIL 2. 데이터 다루기 (0) | 2023.07.18 |
[내일배움단] 사전캠프 C# TIL 1. 시작하기 (0) | 2023.07.18 |