1. 중첩 for문
- for 문 내부에 또 다른 for 문을 사용해 반복이 중첩되는 for문이다.
바깥의 for문의 조건문이 true가 되면 내부의 for문이 작동되는데 내부의 for문이 한 바퀴 다 돈 후에
바깥 for문의 두번째 바퀴가 시작된다.
그래서 중첩 for문의 전체 반복 횟수는 안쪽 for문 반복 횟수와 바깥 for문 반복 횟수를 곱한 값이다.
<기본 문법>
for (초기식1; 조건식1; 증감식1){
문장1;
for (초기식2; 조건식2; 증감식){
문장2;
}
문장3;
}
문장1은 바깥 for문의 시작지점에서 시작되며 바깥 for문의 반복 횟수만큼 반복된다.
문장2는 안쪽 for문의 시작지점에서 시작되며 안쪽 for문 반복 횟수 * 바깥 for문의 반복 횟수
문장3은 안쪽 for문의 반복이 끝난 뒤 실행되고 바깥 for문의 반복 횟수만큼 반복된다.
바깥 for문 2번 반복. 안쪽 for문 3번 반복
for (int i = 1; i<=2; i++){
System.out.println("i = " + i); <= 2번 돈다
for(int j = 1; j<=3; j++){
System.out.println("j = " + j); <= 6번 돈다
}
System.out.println("------"); <= 2번 돈다
}
2. 중첩 while문
for문과 같은 구성이다.
3. 또 다른 특징
반복문에서 제어변수의 값을 리터럴 대신 변수로 바꿀 수 있다.
i <= 10; 이 아니라 i <= j; 로도 가능하다.
변수의 값이 변경될 수 있으므로 제어변수의 값도 상황에 따라 변할 수 있다.
==> 반복 횟수가 유동적으로 변한다.
ex. for 중첩으로 구구단 만들기.
(2단에서 9단까지)
int dan = 2;
for(int i = 1;i<=9;i++){
System.out.println(dan + " 단 ");
for(int i = 1;i<=9;i++){
System.out.println(dan + " * " + i + " = " + dan * i);
}
dan++;
}
while 중첩으로 구구단 만들기.
(2단에서 9단까지)
int dan = 2;
while (dan<=9){
System.out.println(dan + "단");
int i = 1;
while(i<=9){
System.out.println(dan + " * " + i + " = " + dan * i);
i++;
}
dan++;
}
'develop > Java' 카테고리의 다른 글
무한 루프, do-while, 배열(Array) (0) | 2021.01.27 |
---|---|
반복문 제어 break, continue (0) | 2021.01.27 |
for 문과 while문 - (1) (0) | 2021.01.23 |
switch 조건문 (0) | 2021.01.19 |
if 조건문 (0) | 2021.01.19 |