JAVA/JAVA
Java | 반복문_중첩 For문
pathas
2020. 1. 17. 16:37
중첩 For문
for문 안에 또 다른 for문을 작성하는 경우
이중 for문이라고도 함
사용례
public class ForTest2 {
public static void main(String[] args) {
for (int a = 0; a < 3; a++) {
// Outer For
for (int b = 0; b < 2; b++) {
System.out.println("a: " + a + ", b: " + b);
}
// Inner For
System.out.println("======");
}
/*
a: 0, b: 0
a: 0, b: 1
==========
a: 1, b: 0
a: 1, b: 1
==========
a: 2, b: 0
a: 2, b: 1
==========
*/
}
}
※ 바깥쪽 For문이 각각의 루프를 실행할 때마다 안쪽 For문은 전체 루프를 실행함
사용례_별 찍기
이중 for문 연습
규칙성, 특징을 발견하는 것이 중요함
public class Star {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
System.out.print("*");
}
System.out.println();
}
/*
*****
*****
*****
*****
*****
*/
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
/*
*
**
***
****
*****
*/
for (int i = 1; i <= 5; i++) {
for (int j = 5; j >= i; j--){
// or (int j = 1; j <= 6 - i; j++)
System.out.print("*");
}
System.out.println();
}
/*
*****
****
***
**
*
*/
}
}
사용례_별 찍기2 | if-else문 활용
public class Star {
public static void main(String[] args) {
// 5x5정사각형의 좌우변만 출력
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (j > 1 && j < 5) {
System.out.print(" ");
} else {
System.out.print("*");
}
}
System.out.println();
}
/*
* *
* *
* *
* *
* *
*/
}
}
for문 활용이라고도 할 수 있는 중첩 for문에 대해 알아보았습니다.
반복되어야 하는 것이 2개 있다면 2중 for문을 사용하면 되겠습니다.
코드를 작성하기 전에 문제의 규칙과 특징을 먼저 파악하고,
변수와 상수에 대해 알아내면 보다 수월하게 문제를 해결할 수 있을 것입니다.