Review
KOSTA 교육 3일차(while, do~while, for, break, continue)
Tigger
2020. 6. 20. 20:43
18.10.31(수)
배운 내용
- while
- do ~ while
- for
- break
- continue
1. while
반복문의 한 종류로서 보통 조건에 따라 반복할 때 사용한다.
- 조건이 true일 경우에 계속 반복
- 여기서 false가 출력되면 정지하게 된다.
- 초기식 -> 조건식 -> 명령문 -> 증감식 순이고 수직으로 나타낸다.
- 1을 변수 값으로 실행하고 while문을 이용하여 11보다 작다고 하였을 때
- num을 출력하고 true일시 1을 추가해준다.
- num이 11이 되면 거짓이 되므로 정지하게 되어 while문 밖으로 나가 Done을 출력하게 된다.
- num이 10보다 작거나 같을 때 만족한다면 sum += num과 이후 num에 1을 추가한다.
- 반복하여 11이 되었을 경우 false로서 밖으로 나와 합 55가 나온다.
- while(true)는 특정 조건을 만족할 때까지 계속 반복한다.
- a, b 값을 입력한 후 b가 a보다 컸을 때 break를 통해 벗어나게 된다.
- 그에 맞는 값이 출력된다.
2. do ~ while
while과 마찬가지로 반복문의 한 종류로서 보통 조건에 따라 반복할 때 사용한다.
- 조건이 true일 경우에 계속 반복
- 여기서 false가 출력되면 정지하게 된다.
- 무조건 한 번은 실행하는 특징이 있다.(명령문을 실행 후 조건을 비교하기 때문)
- do 명령문에서 true가 나오면 다시 돌아가고 false가 나오면 돌아가는데 n은 양수가 되어야 false가 되기 때문에 10으로 실행했다 가정하자
- 각 변수를 실행 후 while문 i가 10보다 작아야 반복을 하기 때문에 10까지 반복을 하게 된다.
- 이 때 반복은 while문 내의 sum += i와 i++에 적용되어 11이 되는 순간 false가 되어 밖으로 나와 값은 “10까지 합 : 55” 가 된다.
3. for
while과 마찬가지로 반복문의 한 종류로서 보통 조건에 따라 반복할 때 사용한다.
- 초기식 -> 조건식 -> 명령문 -> 증감식 순이며 수평으로 나타낸다.
- 중복되는 코드를 많이 생략할 수 있다.
- for(초기값; 종료여부; 증감값) 으로 작성한다.
- 1부터 10까지 합을 구하기 위해 sum 변수 실행과 i 변수를 설정한다.
- i는 1이고 10보다 같거나 작으며 sum += i;가 true일 시 i++를 반복한다.
- 반복 중 10보다 커지면 반복을 종료하고 10까지의 합을 출력한다.
값은 55이다.
- i가 2부터 시작해 true이므로 i를 출력하고 내부 for문으로 이동하여
j를 반복한다. - j가 9가 되고 false가 된 후 다시 외부 for문 i++로 반복하여 3으로 다시 반복을 시작한다.
- 결국 외부 for문이 10이 되면 거짓이 되므로 반복은 끝이난다.
값은 2~9 * 1~9 = i*j가 된다.
- for문 대표 예시로서 별을 수직으로 1개씩 증가하며 총 5회 실행시킨다.
- i가 1이 참이므로 내부 for로 반복하여 j가 i보다 작거나 같을때 까지 반복한다. 그 이유는 *을 출력하기 위해선 true가 되어야 반복하기 때문이다.
- 여기선 i와 j가 1이고 1회 반복한 후 j가 더 커지기 때문에 외부 for문으로 다시 반복한다.
- i가 2도 참이므로 내부 for문에서 2번 반복을 하기 때문에 *이 2번 출력된다.
- 외부 for문이 총 5회 반복되고 내부 포문은 반복 될 수록 값이 커져 5회까지 반복하기 때문에 위의 주석과 같은 값이 출력된다.
4. break
반복문을 벗어나는데 사용한다.
- switch문에서 case 1~3에 위치한 break는
while문에서 1~3을 입력했을 때 반복되어 switch문으로 이동한다. - 이동 후 case 1~3에서 break되어서 다시 while문으로 돌아간다.
5. continue
반복 continue 부터 문장을 생략하고 다시 반복을 한다.
- 특정 조건을 만족하면 다시 반복문을 실행한다.
- i가 1로 실행, 10보다 같거나 작아야한다.
- if문에서 i를 2로 나눴을 때 나머지가 0이면 continue이후는 무시하고 다시 반복문을 수행한다.
- 그래서 나머지 0인 값들을 무시하고 홀수만 남게 되어 i가 출력 시
홀수만 남게 된다.
오늘 교육 간 느낀점
난이도가 가면 갈수록 올라간다. 개념도 개념대로 어렵지만 수학적인 능력을 더해서 변수와 조건문을 만드는게 사실 현재의 나로서는 너무 고통스럽고 힘들다. 무엇이든 처음배우면 어렵다. 하지만 끝까지 노력해서 결국은 동일선상 더 나아가 앞서나가는 사람이 되도록 노력해야겠다. 내일도 화이팅!