반복문은 코드 내에서 똑같은 명령을 일정 횟수만큼 반복시키기 위해 사용하는 명령인데요.
프로그램이 처리하는 대부분은 반복문이라고 할 정도로 많이 사용한다고 해요.
1. while 문
초기값;
while(조건식) {
명령;
//증감식;
}
while 문은 조건식을 보고 명령을 수행하게 됩니다.
while 문은 문법상 반드시 써야 하는 건 아니지만 증감식이 없기 때문에 조건문이 참이라면 무한 루프를 돌게 되겠지요.
그래서 보통 명령 다음에 증감식을 써줍니다.
//초기값
int i = 1;
//조건식
while(i <= 5) {
System.out.println("while문이 " + i + "번째 실행중입니다.");
i++; //증감식
}
위의 코드를 실행시켜 볼까요?
이 코드도 i가 초기에 1로 잡혀있고 while 문으로 들어가서 조건을 봅니다.
i가 1이기 때문에 조건이 참이 되어 명령을 수행합니다.
명령문에 i++가 i를 2로 만들어주고 다시 조건을 봅니다.
또 참이죠? 해당 명령을 i가 5일 때까지 반복합니다.
i가 5일 때 명령을 수행하고 6이 되면 조건이 거짓이 되어 while 문에서 빠져나오게 됩니다.
2. do-while 문
초기값;
do {
명령;
//증감식;
} while(조건식);
do-while 문은 다음과 같은 형태입니다.
do-while 문에서는 while 문과 다르게 처음부터 조건식을 보지 않고 명령을 먼저 수행한 후에 조건식을 보게 됩니다.
//초기값
int i = 1;
//조건식
do {
System.out.println("while문이 " + i + "번째 실행중입니다.");
i++; //증감식
} while( i <= 5);
do-while 문의 경우에는 조건식이 거짓이더라도 최소 1번은 명령을 수행한다는 이야기입니다.
while 문에서도 5번이 실행되었고 do-while 문에서도 5번이 실행되었지만 차이점은 while 문의 경우 i가 1일 때부터 조건식의 참 거짓을 판별했다고 하면 do-while 문은 명령을 먼저 수행했기에 i가 2일 때부터 6일 때까지 조건식의 참 거짓을 판별했겠지요.
위의 while 문은 i가 5일 때까지 반복문이 돌고 6이 되고 나서 빠져나왔다면 do-while 문에서는 i가 6일 때까지 돌고 나서 조건식을 봤을 때 거짓이었기 때문에 빠져나오게 된 것입니다. 이해 가시나요?
//연습문제.
//while문을 이용해 구구단이 출력되도록 만드세요.
//구구단의 출력은 2단부터 9단까지입니다.
// i * j = i*j
// 위의 형태로 출력되게 만들어주세요.
// 정답은 아래쪽에 공개하겠습니다.
!정답 코드는 짜는 사람마다 조금씩 다를 수 있습니다!
//연습문제.
int i = 2;
while(i<10) {
System.out.println(i + "단");
int j = 1;
while(j<10) {
System.out.printf("%d * %d = %d\n",i ,j ,i*j);
j++;
}
i++;
System.out.println();
}
<실행 결과>
2단
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3단
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27
4단
4 * 1 = 4
4 * 2 = 8
4 * 3 = 12
4 * 4 = 16
4 * 5 = 20
4 * 6 = 24
4 * 7 = 28
4 * 8 = 32
4 * 9 = 36
5단
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
6단
6 * 1 = 6
6 * 2 = 12
6 * 3 = 18
6 * 4 = 24
6 * 5 = 30
6 * 6 = 36
6 * 7 = 42
6 * 8 = 48
6 * 9 = 54
7단
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
8단
8 * 1 = 8
8 * 2 = 16
8 * 3 = 24
8 * 4 = 32
8 * 5 = 40
8 * 6 = 48
8 * 7 = 56
8 * 8 = 64
8 * 9 = 72
9단
9 * 1 = 9
9 * 2 = 18
9 * 3 = 27
9 * 4 = 36
9 * 5 = 45
9 * 6 = 54
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
'Java 관련 > Java' 카테고리의 다른 글
[Java] for문, 별찍기 (0) | 2021.10.12 |
---|---|
[Java] 제어문 - 반복문(for 문) (0) | 2021.10.11 |
[Java] 제어문 - 조건문(switch 문) (0) | 2021.10.09 |
[Java] 제어문 - 조건문(if 문) (0) | 2021.10.08 |
[Java] 자바 연산자(Operator) (0) | 2021.10.07 |