04. 조건문과 반복문(5주차 이론) 2. 반복문
종류: while, do~while, for문
1)while문
-반드시 괄호 안의 값은 Boolean 타입의 논리값
-반복문을 탈출하기 위한 체크변수를 반복문을 정의하기 전에 선언해주어야 함
-체크 변수는 반복의 횟수를 저장하도록 하는 변수로 변수의 증감 연산이 반드시 정의되어서 이 변수의 값으로 반복 구문이 탈출 되도록 해주어야 함
int num = 0; //초기식, 반복을 위한 조건에 사용하는 변수
while(num<5) {
System.out.println(num); //반복해야 하는 구문
num++ //증감연산_num의 값을 증가시키는 것은 반복의 탈출을 위한 것
}
이때 출력 값은 아래와 같다

2)do while 문
-do while 문은 조건식을 먼저 확인하는 게 아니라 반복 처리할 블록 {}을 먼저 실행한 후 반복의 조건을 확인함
-조건과 상관없이 먼저 한 번을 실행해야 하는 경우 사용
int num = 0; //초기식, 반복을 위한 조건에 사용하는 변수
do {
System.out.println(num);
num++
} while (num<5) //반복의 여부를 판별하는 조건식
이때 출력 값은 아래와 같다.

3)for 문 (앞으로 많이 씀)
-초기식, 조건식, 증감식을 반복문의 정의부에서 정의해 놓고 반복물을 실행하는 반복문으로 반복의 횟수가 정해져 있을 때 주로 사용
-배열이나 컬렉션의 리스트를 사용할 때 사용
for (int i = 0; i<5; i++){ //for 반복문을 정의, 0~4까지 반복
System.out.println(i); //변수 i의 값을 출력
} //주의_i가 for문 밖에서는 쓰일 수 없다.
이때 출력 값은 아래와 같다.

3-1)for each 루프
-배열의 각각의 원소를 모두 처리하고자 할 때 사용
int[]numbers = { 10, 20, 30};
for (int value : numbers) {
//배열 numbers의 각 요소가 변수 value로 차례대로 대입
System.out.print(value+" ");
}
이때 출력 값은 아래와 같다.

(아래는 또 다른 예시)
String [] fruits ={"Apple", "Banana", "Pear", "Grape"}
for( String name : fruits) {
System.out.print( name );
System.out.print( ", " );
}
System.out.println();
이때 출력 값은 아래와 같다.
*마지막 줄의 System.out.println(); 은 딱히 의미 없는 부분 같다. 그저 다음 줄이 생성됨.

4)반복문의 중첩
-반복문도 조건문과 마찬가지로 처리 블록{}안에 또 다른 반복문을 정의해서 처리할 수 있음
-구구단의 경우 각 단이 증가 하면서 각 단에서 2~9를 곱하는 패턴을 가지고 있음

위와 같은 형태로 구구단을 출력하려면
먼저 print를 사용해서 한 줄씩 왼쪽 수가 2~9까지 증가하는 동안 곱하기 1한 값을 반복해서 출력하고
그 후엔 다음 줄로 넘어가서 왼쪽 수가 또 2~9까지 증가하는 동안 1에서 1 증가한 2를 곱한 값을 반복해서 출력해야 함을 알 수 있다.
코드는 아래와 같이 짤 수 있는데, while문과 for문을 사용한 두 가지 버전이 있다.
int i = 1; //출력 할 때의 행(오른쪽 수)을 표현하기 위한 반복문의 조건을 만들기 위한 변수
while(i<10){//반복의 조건: 1~9
int j=2; //단(왼쪽 수)을 표현하기 위한 변수: 2~9
while(j<10) {
System.out.print(j + "x" + i + "=" + j*i + "\t";};
j++;
}
System.out.println();
i++;
}
while 문 사용
for (int i =1; i < 10; 1++) {
for(int j = 2; j < 10; j++) {
System.out.print(j + " x" + i + " = " + j*i + "\t");
}
System.out.println();
}
for 문 사용
5)반복제어를 위한 키워드(2가지) : break
- 반복문 안에서 break 키워드를 만나면 반복문의 조건식과 관계없이 바로 반복문을 종료하고 반복문 다음 문장을 실행
-반복의 횟수를 모르지만 반복문을 사용해야 하는 경우 반복 블록{} 내에 조건을 두고 조건을 충족하면 반복문을 벗어나도록 할 때 사용
-반복문 내에서 조건식의 판단 결과와 상관없이 반복문을 완전히 빠져나가고자 할 때 사용
int num = 0;
while (true){
if(num==5) {
break; //반복문을 벗어남
}
System.out.println(num);
num++; //탈출을 위한 증가식
}
출력 값은 아래와 같다.

5)반복제어를 위한 키워드(2가지) : continue
-반복문 내에서 continue 키워드를 만나면 continue 아래 문장들은 건너뛰고 블록의 마지막으로 이동해서 다시 조건식으로 이동
-반복문 내에서 특정 조건일 때 처리하지 않고 건너뛰게 하고자 할 때 사용
int num = 0;
while (++num < 10) {
if(num%2 == 1) {
continue;
}
System.out.println(num);
}
출력 값은 아래와 같다.

배운 개념을 정리해보자
1. while문
2. do while문
3. for문
3-1. for each 루프
(여기에 배열이 나온다.)
4. 반복문의 중첩
5. 반복 제어 키워드 : break, continue
'CSE > CP1 이론' 카테고리의 다른 글
| CP1_02.변수_1 (0) | 2024.04.24 |
|---|---|
| CP1_03.연산자*미해결포인트 있음 (0) | 2024.04.22 |
| 04.조건문과 반복문_조건문 (0) | 2024.04.20 |
| CP1_05.배열(Array)_2_7주차 (0) | 2024.04.20 |
| CP1_05.배열(Array)_6주차 (0) | 2024.04.15 |