본문 바로가기

Java

반복문 for 구문 4월1일

개발 공부의 포인트는 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