[Java] 1_8_제어 흐름 이해하기(2)

Haeun Noh·2022년 8월 4일
0

0803


오늘은 제어문 중에서도 반복문에 대해 배웁니다.
처음 while문과 do-while문을 배울 때 많이 헷갈렸었는데 다시 되짚으면서 기초를 다져나가보도록 하겠습니다.
그럼 정리를 시작할까요!



반복문

: 특정 조건이 될 때까지 반복

반복문은 주어진 조건이 만족할 때까지 수행문을 반복적으로 수행하는 것을 말합니다. 반복문에는 while문 do-while문 for문이 있고 이 세 가지 전부 코드적으로 호환이 가능합니다. 반복문은 조건의 만족과 반복 가능 여부에 대해 정확한 코딩을 해야 합니다.


while문

: 조건식이 참인 동안 수행문을 반복해서 수행

while문의 형태는 다음과 같습니다.

while (조건식) {
	수행문1;		//조건식이 참인 동안 반복 수행
    ...
}

반복문에는 무한반복이라는 것이 있는데요, while문의 무한반복 형태를 알아보겠습니다.

무한반복

while (true) {
	실행문;
    ...
}

while문은 조건식이 참인 동안 계속 수행문을 실행하는 것인데요, 그래서 조건식에 true를 놓으면 항상 참이 되어버려서 계속 수행문이 돌아가게 되는 것입니다.

whlie문을 활용해봅시다.
1부터 10까지의 숫자를 모두 더한 값을 출력해보세요.

public class 1~10더하기 {
	public static void main(String args[]) {
		int num = 1;
   		int sum = 0;
    
   	 	while ( num <= 10 ) {
    		sum += num;
        	num++;
    	}
    	System.out.println("합 : " + sum);
	}
}

do-while문

do-while문while문과 언뜻 비슷해보입니다. while문은 시작할 때 조건이 참이 아니라면 시작을 아예 하지 않습니다. 하지만 do-while문은 일단 실행문을 한 번 수행한 후 조건을 보기 때문에 최소 수행문을 한 번 수행한다는 특징이 있습니다.

do-while문은 어떠한 수행문이 있을 때 그 수행문을 최소 한 번 수행하고 나서 조건을 체크하는 경우에 사용합니다.

do-while문의 형태는 다음과 같습니다.

do {
	수행문;
    ...
} while (조건식);

for문

for문은 반복문 중에서 가장 많이 사용하는 반복문입니다. 주로 횟수를 나타내는 경우에 많이 사용하고, 조건이 횟수인 경우에 주로 사용합니다. 또한 for문초기화식 조건식 증감식을 한꺼번에 작성하는 특징이 있습니다.

for문의 형태는 다음과 같습니다.

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

for문을 배우면 항상 하는 예제가 있습니다. 저도 for문을 배우고 난 뒤에 난이도가 있었던 예제가 바로 구구단인데요, 구구단을 한 번 for문을 이용하여 작성해봅시다.

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

중첩 for문에서는 주의해야 할 점이 있는데요, 초기화를 하지 않으면 값이 다 나오지 않은 채로 반복문이 끝날 수 있기 때문에 초기화를 해야할 부분이 있으면 초기화를 반드시 해주어야 합니다.


continue문

continue문은 반복문 자체는 아니지만 반복문에 쓰이는 제어문입니다. 조건문과 같이 쓰이는 경우가 많으며 이름처럼 '계속 해라'라는 뜻입니다.

반복문과 함께 쓰이며, 반복문 내부에 있는 continue문을 만나면 이후 반복되는 부분을 수행하지 않고 조건식이나 증감식을 수행합니다.


break문

break문도 반복문 자체는 아니지만 반복문에 쓰이는 제어문입니다.

반복문에서 break문을 만나면 더 이상 반복을 수행하지 않고 반복문을 빠져나오게 됩니다. 여기서 주의할 점은 모든 반복문을 빠져나오는 것이 아닌 break문이 있는 해당 반복문만 빠져나온다는 것입니다. 중첩 반복문의 경우 가장 가까운 반복문 하나만 빠져나오게 됩니다.



profile
기록의 힘을 믿는 개발자, 노하은입니다!

0개의 댓글