JAVA

반복문

옝옹 2022. 9. 26. 03:08

for문

- for문과 while 문은 서로 변환이 가능

-  for문 : 반복 횟수를 알고 있을 때 주로 사용

 

 

 

 

 

 

초기화식

- 조건식과 실행문, 증감식에서 사용할 변수를 초기화하는 역할 , 생략 가능

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

-  초기화식, 조건식, 증감식 모두 둘 이상 있을 수 있다. 이런 경우 쉼표로 구분해서 작성

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

-  초기화식에 선언된 변수는 로컬변수 이므로 for문을 벗어나서는 사용 불가능

-  부동 소수점을 사용하는 float타입은 사용하지 말아야한다

중첩 for문

- for문은 또 다른 for문을 내포할 수 있다.

- 바깥쪽 for문이 한번 실행할 때마다 중첩된 for문은 지정된 횟수만큼 반복해서 돌다가 다시 바깥쪽 for문으로 돈다.

while문

- 조건(조건식이 true일 경우)에 따라 반복할 때 주로 사용

-  조건식에는 비교 또는 논리 연산식이 주로 오는데, 조건식이 false가 되면 반복 행위를 멈추고 while문을 종료합니다.

 

 

-  조건식에는 boolean 타입 변수나 true/false 값을 산출하는 어떠한 연산식이든 올 수 있습니다.

 

 

 

do-while문

- do-while문은 조건식에 의해 반복 실행한다는 점에서는 while문과 동일합니다

-  while문은 시작할 때부터 조건식을 검사하여 블록 내부를 실행할지 결 정하지만, 경우에 따라서는 블록 내부의 실행문을 우선 실행하고 실행결과에 따라서 반복 실행을 계속할지 결정할 수도 있습니다.

 

 

 

 

 

 

break문

-  break문은 반복문인 for문, while문, do-while문의 실행을 중지 할 때 사용됩니다. 또한, 이전에 학습한 switch문에서도 break문을 사용하여 switch문을 종료합니다.

 

-  break문은 대개 if문과 같이 사용되어 if문의 조건식에 따라 for문과 while문을 종료할 때 사용합 니다.

 

 

public class BreakExample {

    public static void main(String[] args) { 

    while(true) { 

    int num = (int) (Math.random() *6)+1;
    System.out.println(num);
    
    if(num == 6) {
    break;
    }

    }System.out.println ("프로그램 종료"); 

    }

}

 

- 만약 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료하지 않습니다. 중첩된 반복문에서 바깥쪽 반복문까지 종료시키려면 바깥쪽 반복문에 이름(라벨) 을 붙이고, Break 이름; 을 사용하면 됩니다.

 

continue문

- continue문은 반복문인 for문, while문, do-while문에서만 사 용되는데, 블록 내부에서 continue문이 실행되면 for문의 증감 식 또는 while문, do-while문의 조건식으로 이동합니다.

 

-  continue문은 반복문을 종료하지 않고 계속 반복을 수행한다. break 문과 마찬가지로 continue문도 대개 if문과 같이 사용되는데, 특정 조건을 만족하는 경우에 continue문을 실행해서 그 이후의 문장을 실행하지 않고 다음 반복으로 넘어갑니다.

 

► 확인 문제

1. 반복문의 종류를 빈 칸에 넣어보세요.

• 반복문: ( for문 ),( while문 ),( do-while문 )

2. for문을 이용해서 1부터 100까지의 정수 중에서 3의 배수의 총합을 구하는 코드를 작성해 보세요.

public class Exam02 {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            if (i % 3 == 0) { 
            	sum += i; 
            }
        }
        System.out.println("3의 배수의 합: " + sum);
    }
}

5. for문을 이용해서 다음과 같이 *를 출력하는 코드를 작성해보세요.

public class Exam05 {
    public static void main(String[] args) { 
        for (int i = 1; i < 5; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*"); 
                if (j == i) {
                    System.out.println();
                }
            }
        }
    }
}

6. for문을 이용해서 다음과 같이 米를 줄력하는 코드를 작성 해보세요.

public class Exam06 {
    public static void main(String[] args) {
        for (int i = 1; i < 5; i++) {
            for (int j = 4; j > 0; j--) {
            	if (i < j) {
            		System.out.print(" ");
                } else {
                System.out.print("*");
            }
        }
        System.out.printIn();
        }
    }
}