개발 공부의 포인트는 how와 why를 생각하면 된다.
문법의 모양.. 그리고 왜 쓰는가를 생각해야 한다.
반복문 for 구문은
조건문 if 구문과 함께 많이 쓰인다.
for (int i = 0; i <10; i++) {
sum1 += i
}
반복문이란 반복되는 구문을 줄여 효율적인 작업수행을 가능하게 한다.
"반복적인 패턴이 보인다면 그 때 for 문을 생각해 보자"

package ch05;
public class ForTest1 {
public static void main(String[] args) {
// 문제 0~9부터 화면에 출력하시오
System.out.println(0);
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
System.out.println(6);
System.out.println(7);
System.out.println(8);
System.out.println(9);
System.out.println("--------------------------");
// 너무 반복적이야
// 반복적인 팬턴이 보인다면 반복문을 생각해 보자
// for 구문
// --------------0 < 10
for (int i = 0; i < 10; i++) {
// for문의 바디
// 초기화문; 조건식; 증감식
// 0~9까지 10번 반복되고 최종 i = 10
System.out.println("i : " + i);
// 수행문
} // end of for
} // end of main
} // end of class
반복문 for 구문을 활용해
구구단을 나열하는 구문을 만들어봤다.
package ch05;
public class ForTest2 {
public static void main(String[] args) {
// 반복적인 패턴이 보인다면 반복문을 생각하자
// 화면에 구구단 2단을 출력하시오
int num = 2;
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("-------------------------");
// 화면에 구구단 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;
// 1~9까지 9번 반복
// i = 1 ~ i = 9
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));
} // end of for
System.out.println("-------------------------");
// 화면에 구구단 7단을 출력하시오
num = 7;
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
} // end of for
System.out.println("-------------------------");
// 화면에 구구단 8단을 출력하시오
num = 8;
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
}
System.out.println("-------------------------");
// 화면에 구구단 9단을 출력하시오
num = 9;
for (int i = 1; i < 10; i++) {
System.out.println(num + " * " + i + " = " + (num * i));
}
System.out.println("-------------------------");
} // end of main
} // end of class
반복문 for 구문과
조건문 if 구문을 함께 사용해보기.
짝수만 골라내는 방법은
2로 나누어 나머지가 0이면 된다.
나머지 연산자 %
활용해야 한다.
package ch05;
public class ForTest3 {
public static void main(String[] args) {
// 반복문을 사용해서 1부터 10까지 숫자 중에 짝수만 화면에 출력하시오
System.out.println("짝수 : " + 2);
System.out.println("짝수 : " + 4);
System.out.println("짝수 : " + 6);
System.out.println("짝수 : " + 8);
System.out.println("짝수 : " + 10);
System.out.println("...@@@>->---");
int num = 1;
for (int i = 1; i < 6; i++) {
System.out.println("짝수 : " + (num * (i * 2)));
} // end of for
System.out.println("...@@@>->---");
// 1 ~ 10까지 10번 연산한다
for (int i = 1; i <= 10; i++) {
// 특정 수를 2로 나누었을때 나머지가 0이면 짝수다
// 1번째 i값은 1 .. 출력 안됨
// 2번째 i값은 2 .. 출력 됨
// 3번째 i값은 3 .. 출력 안됨
// 4번째 i값은 4 .. 출력 됨
// 5번째 i값은 5 .. 출력 안됨
// 6번째 i값은 6 .. 출력 됨
// 7번째 i값은 7 .. 출력 안됨
// 8번째 i값은 8 .. 출력 됨
// 9번째 i값은 9 .. 출력 안됨
// 10번째 i값은 10 .. 출력 됨
if (i % 2 == 0) {
System.out.println("짝수 : " + i);
} // end of if
} // end of for
System.out.println("...@@@>->---");
} // end of main
} // end of class
이를 응용해 홀수만을 출력해볼 수 있다.
홀수만 골라내는 방법은
2로 나누어 나머지가 0이 아니면 된다.
나머지 연산자 %
논리 연산자 !=
활용해야 한다.
또 변화값을 담는 다른 변수를 선언해 방정식 형태의 구문을 만들어 볼 수도 있다.
package ch05;
public class ForTest4 {
public static void main(String[] args) {
// 문제1
// 1부터 20까지 숫자 중에 홀수를 출력하시오 (반복문, if문 사용)
// System.out.println("홀수 : " + 1);
for (int i = 1; i <= 20; i++) {
if ((i + 1) % 2 == 0) {
System.out.println("홀수 :" + i);
} // end of if
} // end of for
System.out.println("...@@@>->---");
// 문제2
// 1부터 10까지 1 + 2 + 3 ... + 10 총 합은 55
int sum1 = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10;
System.out.println("1부터 10까지의 합은 : " + sum1);
System.out.println("...@@@>->---");
// 반복문을 활용해서 1부터 100까지 총 합을 화면에 출력하시오 -> 5050
// 스스로 변수선언 및 식을 스스로 작성해보시오
int sum2 = 0;
for (int i = 1; i <= 100; i++) {
sum2 += i;
if (i == 100) {
System.out.println("1부터 100까지의 합은 : " + sum2);
} // end of if
} // end of for
System.out.println("...@@@>->---");
int result = 0;
for (int i = 1; i <=100; i++) {
// 1번째 반복할때 i는 1
// 0 + 1 = 1
// 1 + 2 = 3
// 3 + 3 = 6
result += i;
}
System.out.println("총합 : " + result);
System.out.println("...@@@>->---");
} // end of main
} // end of class
for문과 if문을 활용한 더 복잡한 구문도 만들 수 있다.
package ch05;
public class ForTest5 {
public static void main(String[] args) {
// 문제1.
// 1부터 10까지 숫자 중에 짝수만을 모두 더한 값을 출력하시오
int sum1 = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
sum1 += i;
} // end of if
} // end of for
System.out.println("1~10 짝수합 : " + sum1);
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=");
// 문제2.
// 1부터 1000까지 숫자 중에 홀수만을 모두 더한 값을 출력하시오
sum1 = 0;
for (int i = 1; i <= 1000; i++) {
if (i % 2 != 0) {
sum1 += i;
} // end of if
} // end of for
System.out.println("1~1000 홀수합 : " + sum1);
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=");
sum1 = 0;
for (int i = 1; i <= 1000; i++) {
if (i % 2 == 0) {
sum1 += i;
} // end of if
} // end of for
System.out.println("1~1000 짝수합 : " + sum1);
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=");
int sum4 = 0;
for (int i = 1; i <= 1000; i++) {
sum4 += i;
} // end of for
System.out.println("1~1000 합 : " + sum4);
System.out.println("=-=-=-=-=-=-=-=-=-=-=-=");
} // end of main
} // end of class
심화문제.
Scanner 메소드 활용해
이용자가 입력한 값에
for문과 if 문을 적용해 보았다
package exercise;
import java.util.Scanner;
public class ForExercise1 {
public static void main(String[] args) {
// 자바 프로그램을 만들어보기
// 1부터 사용자가 입력한 값 까지를 받아서
// 총합을 출력하는 프로그램을 만든다
// 스캐너
Scanner sc = new Scanner(System.in);
int result1 = 0;
System.out.println("숫자를 입력해보기.");
int num1 = sc.nextInt();
for (int i = 0; i <= num1; i++) {
result1 += i;
}
System.out.println("0부터 " + num1 + "까지의 합은 " + result1 + "이다.");
} // end of main
} // end of class
심화문제2
package exercise;
import java.util.Scanner;
public class ForExercise2 {
public static void main(String[] args) {
// 두 수를 사용자에게 입력받아서
// x,y 범위안에 짝수만 더하는 총 합을 출력하는 프로그램을 만들어보자.
Scanner sc = new Scanner(System.in);
int result1 = 0;
System.out.println("두 숫자 중 첫번째 숫자를 입력해 주세요.");
int num1 = sc.nextInt();
System.out.println("첫번째 숫자보다 더 큰 숫자를 입력해 주세요.");
int num2 = sc.nextInt();
for (int i = num1; i <= num2; i++) {
if (i % 2 == 0) {
result1 += i;
}
}
System.out.println(result1);
} // end of main
} // end of class
'Java' 카테고리의 다른 글
| 자바 학습 목표 (0) | 2025.04.09 |
|---|---|
| 반복문 Do While 구문 4월3일 (0) | 2025.04.03 |
| 조건문 if 구문 3.31 (0) | 2025.03.31 |
| 연산자(관계,논리,삼항) 개념 이해 3.28 (0) | 2025.03.28 |
| 자바 데이터들의 형 변환 3.27 (0) | 2025.03.27 |