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까지만 출력해주세요.
■ 1부터 100까지 숫자 중에 3의 배수만 출력해주세요.
'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 |