반복문 for while
"코드에서 반복적인 패턴이 보일 때"
1. 반복문을 쓸 수 있을지
2. 쓴다면 어떻게 쓸지 생각한다.
for문
기본구조
for (초기화식; 조건식; 증감식) {
}
for문은 반복하는 횟수를 정확히 알 때 주로 사용한다.
package ch04;
public class ForMainTest1 {
// 메인
public static void main(String[] args) {
// 반복문 - 반복적인 패턴이 보인다면 반복문을 생각해보자
System.out.print(0 + " ");
System.out.print(1 + " ");
System.out.print(2 + " ");
System.out.print(3 + " ");
System.out.print(4 + " ");
System.out.print(5 + " ");
System.out.print(6 + " ");
System.out.print(7 + " ");
System.out.print(8 + " ");
System.out.print(9 + " ");
System.out.println();
int i;
// -- 초기화식; 조건식; 증감식 (조건식은 참(ture)과 거짓(false)을 리턴한다.)
for (i = 0; i < 10; i++) {
//수행문: 조건식이 참(true)이라면 이 구문이 수행된다.
System.out.print(i + " ");
// 숫자 0을 i변수로 치환해봤다.
// 1. i = 0
// 2. i = 1
// 3. i = 2
// 4. i = 3
// 5. i = 4
// 6. i = 5
// 7. i = 6
// 8. i = 7
// 9. i = 8
// 10. i = 9
} // end of for
System.out.println("최종결과 i값: " + i);
} // 메인 끝
}

for문을 통해 구구단 만들기
package ch04;
public class ForMainTest2 {
// entry
public static void main(String[] args) {
// 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
// 화면에 구구단 2단을 출력하시오.
System.out.println("2 * 1 = 2");
System.out.println("2 * 2 = 4");
System.out.println("2 * 3 = 6");
System.out.println("2 * 4 = 8");
System.out.println("2 * 5 = 10");
System.out.println("2 * 6 = 12");
System.out.println("2 * 7 = 14");
System.out.println("2 * 8 = 16");
System.out.println("2 * 9 = 18");
System.out.println("==========");
// 변수의 활용(효용)
int num = 2;
System.out.println(num + " * 1 = 2");
System.out.println(num + " * 2 = 4");
System.out.println(num + " * 3 = 6");
System.out.println(num + " * 4 = 8");
System.out.println(num + " * 5 = 10");
System.out.println(num + " * 6 = 12");
System.out.println(num + " * 7 = 14");
System.out.println(num + " * 8 = 16");
System.out.println(num + " * 9 = 18");
System.out.println("==========");
// 3단을 출력하시오.
num = 3;
System.out.println(num + " * 1 = " + (num * 1));
System.out.println(num + " * 2 = " + (num * 2));
System.out.println(num + " * 3 = " + (num * 3));
System.out.println(num + " * 4 = " + (num * 4));
System.out.println(num + " * 5 = " + (num * 5));
System.out.println(num + " * 6 = " + (num * 6));
System.out.println(num + " * 7 = " + (num * 7));
System.out.println(num + " * 8 = " + (num * 8));
System.out.println(num + " * 9 = " + (num * 9));
System.out.println("==========");
// 4단을 출력하시오.
num = 4;
System.out.println(num + " * 1 = " + (num * 1));
System.out.println(num + " * 2 = " + (num * 2));
System.out.println(num + " * 3 = " + (num * 3));
System.out.println(num + " * 4 = " + (num * 4));
System.out.println(num + " * 5 = " + (num * 5));
System.out.println(num + " * 6 = " + (num * 6));
System.out.println(num + " * 7 = " + (num * 7));
System.out.println(num + " * 8 = " + (num * 8));
System.out.println(num + " * 9 = " + (num * 9));
System.out.println("==========");
// 5단을 출력하시오.
num = 5;
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
} // end of for
System.out.println("==========");
// 6단을 출력하시오.
num = 6;
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
}
System.out.println("==========");
// 7단을 출력하시오.
num = 7;
for (int i = 0; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
}
System.out.println("==========");
// 8단을 출력하시오.
num = 8;
for (int i = 0; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
}
System.out.println("==========");
// 9단을 출력하시오.
num = 9;
for (int i = 0; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
}
System.out.println("==========");
} // end of main
}

구구단 더 간단하게
package ch04;
public class ForTest01 {
// 메인
public static void main(String[] args) {
int n1;
int n2;
for (n2 = 2; n2 < 10; n2++) {
for (n1 = 1; n1 < 11; n1 ++) {
if (n1 < 10) {
System.out.println(n2 + " * " + n1 + " = " + (n1 * n2));
} else {
System.out.println("----------------------");
}
} // end of for
} // end of for
} // 메인끝
} // 클래스끝

for문을 통해 숫자의 합 계산하기
package ch04;
public class ForMainTest3 {
// entry
public static void main(String[] args) {
// 1~50 정수 중 짝수만 출력하시오
// 반복문에 if문을 활용해 실행의 흐름을 제어한다.
for (int i = 1; i < 51; i++) {
if (i % 2 == 1) {
// 2로 나눈 나머지 값이 0이면 짝수로 판단할 수 있다.
System.out.print(i + " ");
} // end of if
} // end of for
System.out.println();
// 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55
int sum = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
System.out.println("sum의 합" + sum);
sum = 0;
for (int i = 1; i < 11; i++) {
// sum = sum + i;
sum += i;
}
System.out.println("sum의 합" + sum);
} // end of main
}

for문을 통해 숫자 합 구하기2
package ch04;
public class ForMainTest4 {
// entry
public static void main(String[] args) {
// 1~100 중 홀수의 총 합을 구하시오
int sum = 0;
int totalSum = 0;
for (int i = 1; i < 101; i++) {
if (i % 2 == 1) {
System.out.print(i + " ");
sum += i;
} // end of if
if (i % 20 == 0) {
System.out.println();
}
totalSum += i;
} // end of for
System.out.println("홀수의 합: " + sum);
System.out.println("1~100 합: " + totalSum);
System.out.println("==========");
// 반복문을 사용할 때 증감삭에 꼭 1만 증가시킬 수 있는 것은 아니다.
// 2 4 6 8 10.. 100까지 출력하고 싶다면
for (int i = 2; i <= 100; i += 2) {
System.out.print(i + " ");
if ( i % 20 == 0) {
System.out.println();
}
}
System.out.println("==========");
// 10 9 8 7 6 5 4 3 2 1 을 출력하시오
for (int i = 10; i > 0; i--) {
System.out.print(i + " ");
}
System.out.println();
System.out.println("==========");
} // end of main
}

for문을 사용해 좀 더 복잡한 반복문을 만들어보자
package exercise;
public class Exercise7 {
//entry
public static void main(String[] args) {
// 1~100 반복하는 반복문 작성
for (int i = 1; i < 101; i++) {
System.out.print(i + " ");
if (i % 50 == 0) {
System.out.println();
} // end of if
} // end of for
System.out.println("==========");
// 1~10 홀수면 건너뛰고 짝수만 출력
for (int n = 1; n < 11; n++) {
if (n % 2 != 0) {
continue;
}
System.out.print(n + " ");
}// end of for
System.out.println("은 짝수");
System.out.println("==========");
}//end of main
}

'Java' 카테고리의 다른 글
| 객체 이해 (2) | 2025.04.14 |
|---|---|
| 반복문 while (0) | 2025.04.14 |
| 자료의 형 변환 - 강제형변환 (0) | 2025.04.10 |
| 연산자 (= + - * / %) 의 종류와 활용 (0) | 2025.04.10 |
| 명령프롬프트를 통한 자바 실행 방법 (0) | 2025.04.10 |