Language/JAVA

[JAVA] for 문

IT수정 2024. 9. 3. 20:47

프로그램을 작성하다 보면 똑같은 실행문을 반복적으로 실행해야 할 경우가 많이 발생한다. 실행문이 많아질수록 코드 양이 엄청 늘어날 것이다. 이런 경우 for 문을 사용하면 코드를 획기적으로 줄일 수 있다.

 

for 문

for(초기화식; 조건식; 증감식) {
	실행문;
    }

 

for 문이 실행될 때 초기화식이 제일 먼저 실행된다. 그런 다음 조건식을 평가해서 true면 실행문을 실행시키고, 실행문을 모두 실행하면 증감식이 실행된다. 조건식이 false가 되면 for 문을 종료하고 블록을 건너뛴다.

 

for 문 예제 : 1부터 100까지의 합 구하기

public class SumExample {
	public static void main(String[] args) {
    	int sum = 0;
        int i;
        for (i = 1; i <= 100; i++) {
        	sum += i;
            }
       	System.out.println(sum);
      }
    }

 

초기화식은 조건식과 실행문, 증감식에서 사용할 변수를 초기화하는 역할을 한다. 어떤 경우에는 초기화식이 둘 이상 있을 수 있고, 증감식도 둘 이상 있을 수 있다. 이런 경우에는 다음과 같이 (,)로 구분해서 작성한다.

for (int i = 0, j = 100; i < 50 && j >= 50; i++, j--) { ... }

 

초기화식에서 선언된 변수는 for 문 블록 안에서만 사용되는 지역 변수다. for 문 밖에서도 사용하고 싶다면 for 문 밖에서 변수를 선언하면 된다.

int i;
for (i = 1; i < 100; i++) { ... }

 

for 문은 또 다른 for 문을 내포할 수 있는데, 이것을 중첩 for 문이라고 한다. 이 경우 바깥 for 문이 한 번 실행 될 때마다 중첩된 for 문은 지정 횟수만큼 반복하고 다시 바깥 for 문으로 돌아간다.

 

중첩 for 문 예제 : 구구단 출력

public class MultiplicationTable {
	public static void main(String[] args) {
		for(int i = 2; i <= 9; i++) {
        	System.out.println(i + "단");
        	for(int j = 1; j <= 9; j++) {
            	System.out.println(i + "x" + j + "=" + i*j);
                }
             }
          }
       }

 

중첩 for 문 예제 : 별 출력

public class Main {
    public static void main(String[] args) {
        int n = 5;

        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 

심화 예제 : 오른쪽 정렬된 별 출력

public class Main {
    public static void main(String[] args) {
        int n = 5;

        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= i; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 

심화 예제 : 피라미드 모양 별 출력

public class Main {
    public static void main(String[] args) {
        int n = 5;

        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n - i; j++) {
                System.out.print(" ");
            }
            for (int k = 1; k <= 2 * i - 1; k++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 

'Language > JAVA' 카테고리의 다른 글

[JAVA] break 문과 continue 문  (0) 2024.09.03
[JAVA] while 문  (0) 2024.09.03
[JAVA] switch 문  (7) 2024.09.03
[JAVA] Math.random 메소드  (0) 2024.09.03
[JAVA] if 문  (2) 2024.09.03