1. for 문
for(초기값; 조건식; 증감식) {
명령;
}
for 문의 기본 형태는 다음과 같습니다.
먼저 초깃값을 읽고 조건식이 참인지 아닌지를 판단하여 참일 경우 명령을 수행합니다.
명령 수행 후 증감식을 통해 값을 증가하거나 감소하고 다시 조건을 봅니다.
이러한 과정을 거짓일 때까지 과정 한 후 거짓이면 해당 문법에서 빠져나오게 되는 과정입니다.
잘 이해가 안 가신다고요?
코드로 확인해보겠습니다.
for(int i = 1; i <= 5; i++) {
System.out.println("for문이 " + i + "번째 실행중입니다.");
}
해당 코드를 실행해보겠습니다.
for 문에 i가 선언되어 초깃값이 주어졌습니다.
i = 1로 시작합니다.
조건을 보면 i는 5보다 작거나 같다는 조건이 참입니다.
그렇기 때문에 해당 명령을 수행하여 "for 문이 1번째 실행 중입니다."가 출력이 됩니다.
그다음 증감식을 통해 i의 값이 2가 됩니다.
조건을 다시 보면 참이 되기 때문에 다시 한번 명령을 수행합니다.
이렇게 i가 5까지 반복이 되고 증감식을 통해 6이 되면 다시 조건을 확인합니다.
6은 5보다 크기 때문이 조건이 거짓이 되어 더 이상 명령을 수행하지 않고 for 문에서 빠져나와버립니다.
2. 다중 for문
그리고 for 문은 for 문안에 for 문이 들어갈 수 있습니다.
for(초기값; 조건식; 증감식) {
for(초기값; 조건식; 증감식) {
명령;
}
}
이런 형태인데요. 다중 for 문이라고 합니다.
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
System.out.printf("%d, %d\n", i, j);
}
System.out.println();
}
다음 코드를 작성하면 i가 0일 때 j의 값부터 i가 4일 때 j의 값까지 나오겠네요!
다음과 같이 출력이 됩니다.
//연습문제1.
//for문을 이용해 구구단이 출력되도록 만드세요.
//구구단의 출력은 2단부터 9단까지입니다.
// i * j = i*j
// 위의 형태로 출력되게 만들어주세요.
// 정답은 아래쪽에 공개하겠습니다.
!정답 코드는 짜는 사람마다 조금씩 다를 수 있습니다!
//연습문제1.
for(int i = 2; i < 10; i++) {
System.out.println(i + "단");
for(int j = 1; j < 10; j++) {
System.out.printf("%d * %d = %d\n",i ,j ,i*j);
}
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] Scanner() (0) | 2021.10.17 |
---|---|
[Java] for문, 별찍기 (0) | 2021.10.12 |
[Java] 제어문 - 반복문(while 문) (0) | 2021.10.10 |
[Java] 제어문 - 조건문(switch 문) (0) | 2021.10.09 |
[Java] 제어문 - 조건문(if 문) (0) | 2021.10.08 |