본문 바로가기
Java/CH03. 조건문, 반복문, 배열

3.4 While 반복문과 break,return, continue

by 개발자공부 2024. 4. 13.

0. while 개념

1. while 활용

3. 연습문제


0. while 개념

수행문을 수행하기 전 조건을 체크한다. 그 조건의 결과 true인 동안 수행문을 무한 반복한다.

조건식 확인 → 수행문 수행 → 조건식 확인 → 수행문 수행...... 수행문이 부정일 때 멈춤. 

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

	수행문2;
    .....

 

+) for문과 while문의 차이점

for문은 반복하는 횟수를 알고 있을 때 사용할 수 있다.

while문은 반복하는 횟수를 알지 못해도 사용할 수 있다.


2. while 활용

1부터 10까지 출력하고 싶을 때 System.out.println();을 사용하여도 되지만 while문을 활용하면 더 간편하다.

 

2-1.  System.out.println();으로 1부터 10까지 출력하기.

System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
System.out.println(6);
System.out.println(7);
System.out.println(8);
System.out.println(9);
System.out.println(10);

 

2-2. while문으로 1부터 10까지 출력하기.

int = 1;
while(i <= 10) {
 System.out.println(i);
 i++;
}

i값이 10보다 작거나 같을 때까지 반복해달라는 뜻.

① i(1) <= 10 →

② System.out.println( i ); 수행 →

③ i++; 수행 →

④ 조건식 (i <= 10) 확인하러 올라감

⑤ ... 앞서 했던 것 반복.

⑥ i 가 10이 되면 멈춤. (조건식이 false가 되었기 때문에)

 

2-3. while 조건식을 false로 만들어 멈추게 하는데는 boolean = flag; 변수를 활용하는 방법도 있다.

boolean flag = true;
int start = 1;
int end = 3;

while(flag) {
	if(start == end) {
    	System.out.println("if 구문이 동작함");
        flag = false;
    }
    System.out.println("start : " + start);
    start++;
}

boolean flag;는 변수니까 나중에 초기화할 수 있다.

start값이 1씩 증감하는 걸 반복하는 while문을 작성한다.

안에 if문으로 조건을 건다. 만약 start값이 end값과 같아지는 순간이 온다면 flag = false로 초기화합니다.

start값은 1,2,3으로 출력된다.

 

해당 while문이 동작한 방식은 아래와 같다.

① flag값이 true(참) 인 걸 확인하고 아래로 내려간다.

② if문을 확인했으나 start(1)와 end(3)은 같지 않으니 여전히 조건식 값은 true이다. 문구를 출력하고 아래로 내려간다.

③ start를 출력한 다음 아래로 내려가 start에 1 증감한다. 위로 올라가서 while 조건식을 확인한다.

④ while 조건식은 true(참)이다. 아래로 내려가서 수행문을 수행한다. 즉 1 ~ 4를 반복한다.

⑤ start 값이 3이 되었을 때 end 값과 같아진다. if문에서 start == end라면 flag 값을 false로 초기화해준다.

⑥ 이때 주의할 점은 flag값이 false로 변했다고 하더라도 while문은 멈추지 않는다. 그대로 아래로 내려가서 start값을 출력한 다음 start값을 1 증감한다. 위로 올라가서 flag = false를 확인하고 비로소 멈춘다.


2. break, return, continue

 

■ break

감싸고 있는 제어문의 블록을 빠져나오는 기능이다.

반복문에서는 주로 조건문(if)와 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동할 수 있도록 만든다.

여러 반복문이 중첩되어 있는 경우에는 break문이 포함되어 있는 반복문만 빠져 나온다.

 

■ return

값을 반환한다. while문에서 사용하면 해당 반복문을 빠져나가는 break와 달리 값 자체를 false로 반환하는 것이 되어 차이가 있다.

 

  continue

반복문 내부에서 조건문(if)와 같이 사용하며 조건이 맞는 경우(true이면) 이후 반복문 블럭 내부의 다른 수행문들을 수행하지 않는다.


3. 연습문제

■ 1부터 10까지 출력하되 7까지만 출력해주세요.

더보기
더보기
더보기
boolean flag = true;
int i = 0;
while(flag){
	i++;
    System.out.println(i);
    if(i % 7 == 0){
    	break;
    }
}

 

■ 1부터 100까지 숫자 중에 3의 배수만 출력해주세요.

더보기
더보기
더보기
int i  = 1;
while(i < 101){
	System.out.println(i);
	if(i % 3 == 0){
    break;
    }
}

 

'Java > CH03. 조건문, 반복문, 배열' 카테고리의 다른 글

3.6 2차원 배열  (0) 2024.06.11
3.2 switch 문  (0) 2024.06.11
3.5 자료 구조와 Array(배열)  (0) 2024.04.23
3.3 for (반복문)  (0) 2024.04.11
3.1 If - else문  (0) 2024.04.11