한모로그 2023. 1. 15. 15:03

실행문을 반복하는 for 문

  • for 문은 실행문을 여러 번 반복 실행해주기 때문에 코드를 간결하게 만들어줌


    출처, 이것이 자바다


  • ①초기화식이 제일 먼저 실행 ②조건식을 평가해서 true이면 ③실행문을 실행시키고, false이면 for 문을 종료하고 블록을 건너뜀.
  • ②조건식이 true가 되어 ③실행문을 모두 실행하면 ④증감식이 실행.
  • 다시 ②조건식을 평가. 평가 결과가 다시 true이면 ③ → ④ → ②로 다시 진행하고, false이면 for 문이 끝남
  • 초기화식에서 부동 소수점을 쓰는 float 타입을 사용하지 않도록 주의
package ch04.sec04;

/*
 * for 반복문
 */
public class PrintFrom1To10Example {

    public static void main(String[] args) {

        System.out.print(1 + " ");
        System.out.print(2 + " ");
        System.out.print(3 + " ");
        System.out.print(4 + " ");
        System.out.print(5 + " ");

        System.out.println();

        for(int i=1; i<=5; i++) {
            System.out.print(i + " ");
        }
    }

}

package ch04.sec04;

/*
 * for문을 이용하여 1~100까지 누적된 합을 구하는 예제
 */
public class SumFrom1To100Example {

    public static void main(String[] args) {
        int sum = 0;
        int i; //i변수를 이 위치에서 선언한 이유는 for문 다음에서도 사용목적
        for(i=1; i<=100; i++) {
            sum += i; //sum = sum + i;

        }

        System.out.println("1~" + (i-1) + "합: " + sum);
    }

}

package ch04.sec04;

/*
 * 중첩 for문 : for문 안에 for문 내포, 바깥 for문이 한번 실행할 때마다 중첩된 for 문은 지정
             횟수만큼 반복하고 다시 바깥 for 문으로 돌아간다.
 * 
 */
public class MultiplicationTableExample {

    public static void main(String[] args) {
        //i변수가 곱  j변수 단
        //곱
        for(int i=1; i<=9; i++) {
            //1)단
            for(int j=1; j<=9; j++) {
                //1*1=1 2*1=2 ......
            System.out.print(j + "*" + i + "=" + (j*i) + "\t");
        }   
            //2)행이 출력될때 마다 줄바꿈 효과를 준다.
            System.out.println();

    }

  }
}


실행 결과



package ch04.sec04;

/*
 * for문을 이용하여, 3의 배수를 출력하라.(1~20범위)
 */
public class ThreeMultipleExample {

    public static void main(String[] args) {

        for(int i=3; i<=20; i=i+3) {
            System.out.print(i + " ");
        }

        System.out.println();

        for(int i=1; i<=20; i++) {
            if(i % 3 == 0) {
                System.out.print(i + " ");
            }
        }
    }

}


실행 결과