포스트

Java의 for 반복문, 구구단, 별짓기 좌측정렬 및 우측정렬

강의 내용 복습 : 코리아IT 신촌점 Java 강의 (2024-04-18 강의)

  • Tool :
    Java Eclipse


🔔 강의 내용

📌 반복문의 종류

  • 반복문은 특정 행위를 반복시키는 함수를 의미합니다.
  • 반복문의 예시로는 for, while, do while 등이 존재합니다.
  • 이들 중 Java에서 주로 사용되는 반복문은 for, while 입니다.
  • do while 반복문의 경우 게임 개발에 사용되는 C 계열 코드에 사용됩니다.

📌 반복 횟수

  • for 반복문의 경우 반복하는 횟수를 설정할 수 있습니다.
  • while 반복문의 경우 반복 횟수 개념이 아닌 반복 조건을 설정해야 됩니다.

📌 다중 for 반복문

  • 반복문은 단일구조가 아닌 다중구조로 설정할 수 있습니다.
  • 단일구조의 경우 좌표축 1개(x축)에 대한 것입니다.
  • 이중구조의 경우 좌표축 2개(x축, y축)에 대한 것입니다.


🔔 실습 내용 : 단일 반복문

📌 덧셈

  • 정수 1부터 1,000까지의 합을 구하는 코드를 작성하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {

    // 합에 대한 변수를 정의하였습니다.
    int sum = 0;
    
    // 합에 대한 반복문을 작성하였습니다.
    for(int i = 1; i <= 1000; i++) {
        sum += i;
    }

    // 반복문 처리가 완료된 결과값을 출력하였습니다.
    System.out.println(sum);

}

📌 조건에 따른 덧셈

  • 정수 1부터 1,000까지의 짝수 및 홀수의 합을 각각 구하는 코드를 작성하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {

    // 짝수의 합에 대한 변수를 정의하였습니다.
    int sum1 = 0;
    // 홀수의 합에 대한 변수를 정의하였습니다.
    int sum2 = 0;
    
    // 짝수 및 홀수의 합에 대한 함수를 작성하였습니다.
    for(int i = 1; i <= 1000; i++) {
        if(i % 2 == 0) {
            sum1 += i;
        } else {
            sum2 += i;
        }
    }
    
    // 반복 및 조건문 처리가 완료된 결과값을 출력하였습니다.
    System.out.println(sum1);
    System.out.println(sum2);
    System.out.println(sum1 + sum2);

}

📌 랜덤 숫자 덧셈

  • 정수 1부터 20까지의 숫자를 랜덤하게 출력하고 그 숫자들을 더하는 코드를 작성하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {

    // 합에 대한 변수를 정의하였습니다.
    int sum = 0;

    // 합에 대한 함수를 작성하였습니다.
    for(int i = 0; i < 5; i++) {
        // 함수가 반복될 때마다 랜덤 정수를 획득하기 위해 반복문 내부에 랜덤 함수를 작성하였습니다.
        int rand = (int)(Math.random() * 20) + 1;
        // 랜덤 정수 5개를 같은 행에 출력하였습니다.
        System.out.print(rand + " ");
        // 함수가 반복될 때마다 랜덤 함수를 합하도록 설정하였습니다.
        sum += rand;
    }
    
    // 출력문 구분을 위해 행을 구분하였습니다.
    System.out.println();
    
    // 함수 처리가 완료된 결과값을 출력하였습니다.
    System.out.println(sum);

}


🔔 실습 내용 : 이중 반복문

📌 구구단(가로형)

  • Eclipse에서 Java의 이중 for 반복문을 이용하여 구구단을 출력할 수 있습니다.
  • 구구단 내용을 행 방향으로 출력하기 위한 코드는 아래와 같습니다.
1
2
3
4
5
6
7
8
9
public static void main(String[] args) {

    for(int i = 2; i < 10; i++) {
        for(int j = 1; j <10; j++) {
            System.out.print(i + "X" + j + "=" + (i*j) + "\t");
        }
        System.out.println();
    }
}

📌 구구단(세로형)

  • Eclipse에서 Java의 이중 for 반복문을 이용하여 구구단을 출력할 수 있습니다.
  • 구구단 내용을 열 방향으로 출력하기 위한 코드는 아래와 같습니다.
1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) {
    
    for(int i = 1; i < 10; i++) {
        for(int j = 2; j < 10; j++) {
            System.out.print(j + "X" + i + "=" + (i*j) + "\t");
        }
        System.out.println();
    }

}

📌 별짓기(좌측정렬)

  • 별 기호가 탑 모양을 이루도록 출력하였습니다.
  • 함수가 반복될 때마다 별 기호의 개수가 증가되도록 설정하였습니다.
1
2
3
4
5
6
7
8
9
10
public static void main(String[] args) {

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

	}


🔔 과제

📌 별짓기(우측정렬)

  • 별 기호가 탑 모양을 이루되 우측으로 정렬되도록 출력하였습니다.
  • 함수가 반복될 때마다 별 기호의 개수가 증가되도록 설정하였습니다.
  • 함수가 반복될 때마다 공백의 개수가 감소되도록 설정하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static void main(String[] args) {

    // 5회를 반복하는 함수를 작성하였습니다.
    for(int i = 0; i < 5; i++) {
        // i보다 1 큰 횟수만큼 반복하고 종료되도록 설정하였습니다. 
        for(int j = 4; j > i; j--) {
            // 함수 처리가 종료되면 반복한 횟수만큼 공백을 출력하도록 설정하였습니다.
            System.out.print(" ");
        }
        // k와 동일한 숫자만큼 반복하고 종료되도록 설정하였습니다.
        for(int k = 0; k < i + 1; k++) {
            // 함수 처리가 종료되면 반복한 횟수만큼 별 기호를 출력하도록 설정하였습니다.
            System.out.print("*");
        }
        // 내부 반복문이 종료되면 다음 행에 출력문이 출력되도록 설정하였습니다.
        System.out.println();
    }

}


🔔 응용 학습

📌 별트리(중앙정렬)

  • 별 기호가 삼각형의 탑 모양을 이루도록 별 기호를 출력하였습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public static void main(String[] args) {

    // 정수 i가 0부터 4까지 오름차순으로 반복되도록 설정하였습니다.
    for(int i = 0; i < 5; i++) {
        // 정수 j가 4부터 1까지 내림차순으로 반복되도록 설정하였습니다.
        for(int j = 4; j > i; j--) {
            // 함수식 반복이 1회 종료될 때마다 정수값만큼 공백이 출력되도록 설정하였습니다.
            System.out.print(" ");
        }
        // 정수 k가 0부터 4까지 오름차순으로 반복되도록 설정하였습니다.
        for(int k = 0; k < i + 1; k++) {
            // 함수식 반복이 1회 종료될 때마다 반복된 횟수만큼 별 기호가 출력되도록 설정하였습니다.
            System.out.print("*");
        }
        // 정수 m이 0부터 3까지 오름차순으로 반복되도록 설정하였습니다.
        for(int m = 0; m < i; m++) {
            // 함수식 반복이 1회 종료될 때마다 반복된 횟수만큼 별 기호가 출력되도록 설정하였습니다.
            System.out.print("*");
        }
        // 내부 반복문이 종료되면 다음 행부터 출력문이 출력되도록 설정하였습니다.
        System.out.println();
    }

}




이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
<>