[Java] 2단에서 9단 구구단 출력_for문 / while문

Jeini·2022년 10월 7일
0

📌 Code list

목록 보기
12/55
post-thumbnail

2단에서 9단까지 구구단을 출력해보자.

✏️ 이중 for문

public class Test {
	public static void main(String[] args) {
		
		for (int i = 1; i <= 9; i++) { // 1에서 9까지 반복출력
			for (int j = 2; j <= 9; j++) { // 2에서 9까지 반복출력
				System.out.printf("%d * %d = %d \t ", j, i, i * j); 
			} // ** 첫 번째 값에는 j, 두 번째 값에는 i를 넣어줘야 한다.
			
            System.out.println(" ");
		}
	}
}

✏️ 이중 while문

public class Test {
	public static void main(String[] args) {
		
		int i = 1;
		int j = 2;
		
		while (i <= 9) {
			while (j <= 9) {
				System.out.printf("%d * %d = %d\t", j, i, i * j);
				j++;
			}
			
			i++;
			j = 2; 
			System.out.println(" ");
		}
	}
}

💡 위쪽에 j를 2라고 초기화 했지만,그건 초기값이 2라는 이야기고,
범위가 반복문 도는동안 계속 유지되는 범위이면서 while문 돌면서 값이 증가하니까
j의 값을 다시 정의 해야 한다.

무슨 말이냐면, 자식 while문이 9까지 다 돌게되면 부모 while문으로 다시 돌아가서 다음 숫자로 나오게 되는데, 그때 j의 값이 없어지면서 첫 번째 반복열(2단)만 나오게 된다.

그래서 j의 초기값을 부모 while문 내에 다시 재정의 해줘야 된다.

하지만! 두번 초기화하지 않아도 while문 내에 위치를 조정하면 한번만 써도 된다.

public class WhileMultiplication {
	public static void main(String[] args) {
		
		int i = 1;
		// 여기있던 int j 초기화 값을
		
		while (i <= 9) {
			int j = 2; //여기로 옮김! while 내에 도는 동안 유지되는 범위라서 한번만 써도 됨.
			while (j <= 9) {
				System.out.printf("%d * %d = %d\t", j, i, i * j);
				j++;
			}
			
			i++;
			System.out.println(" ");
		}
	}
}

❗️ 이중 while문일 때 기억해야 될 것은
자식 while문 변수를 밖에 정의하지 말고, 부모 while문 내에 써주자.

profile
Fill in my own colorful colors🎨

0개의 댓글