continue
반복문과 함께 쓰인다.
반복문 안에서 continue문을 만나면 이후의 문장은 수행하지 않고 for문의 처음으로 돌아가 증감식을 수행한다.
- 1부터 100까지의 수를 더할 때 홀수일 때만 더하는 예제
public class ContinueExample {
public static void main(String[] args){
int total = 0;
int num;
for(num = 1; num <= 100; num++) {
if (num % 2 == 0) {
continue;
}
total += num;
}
System.out.println("1부터 100까지의 홀수의 합은 : " + total + "입니다.");
}
}

- continue문을 사용할 시기
위 예제를 보면 반복문 안의 조건문에서 변수 num이 짝수일 때는 이후 수행을 생략하고 for문의 증감식으로 돌아가서 num에 1을 더한다.
num이 홀수일 때는 계속 진행(continue)해서 total += num; 문장을 수행한다.
이렇듯 continue문은 반복문을 계속 수행하는데, 특정 조건에서는 수행하지 않고 건너뛰어야 할 때 사용한다.
break
반복문에서 break문을 사용하면 그 지점에서 더 이상 수행문을 반복하지 않고 반복문을 빠져나온다.
- 0부터 시작해서 숫자를 1씩 늘리면서 합을 계산할 떄 숫자를 몇까지 더하면 100이 넘는지 알고 싶은 예제
public class BreakExample {
public static void main(String[] args){
int sum = 0;
int num = 0;
for(num = 0; sum < 100; num++){
sum += num;
}
System.out.println("num : " + num);
System.out.println("sum : " + sum);
}
}

결과가 뭔가 이상하다.
원래 1부터 14까지 더한 순간에 105가 되므로 num의 값이 14여야 하는데 15가 나온다.
즉 1부터 14까지 더해져서 105가 되었고 num값이 1씩 증가하여 15가 되었을 때 조건을 비교해 보니 합이 100보다 커서 반복문이 끝난 것이다.(for문의 실행 순서를 알면 이해가 된다. https://seungmin576.tistory.com/35)
따라서 우리가 원하는 값인 14를 얻으려면 증감이 이루어지기 전에 반복문을 끝내야 한다.
- 위와 같은 예제에서 break문을 사용하여 올바른 답을 도출
public class BreakExample2 {
public static void main(String[] args){
int sum = 0;
int num = 0;
for(num = 0; ; num++){
sum += num;
if(sum >= 100)
break;
}
System.out.println("num : " + num);
System.out.println("sum : " + sum);
}
}

조건식을 생략하는 대신 break문을 사용하여 sum값이 100보다 크거나 같으면 반복문을 바로 빠져나온다.
종료 조건을 for문 안에 사용했을 때는 num 값을 늘리는 증감식이 수행되어 num값이 15였던 것과 달리 제대로 나오는 모습이다.
- break문의 위치
반복문이 중첩된 경우에 break문을 사용하면 모든 반복문을 빠져나오는 것이 아니고 break문을 감싸고 있는 반복문만 빠져 나온다.
while(조건식1){
while(조건식2){
if(조건식)
break;
}
}
위와 같다면 내부 while만 if문 조건식에 해당할때 빠져나와 외부 while을 반복 수행한다.
continue, break 차이
continue문은 반복문을 계속 수행하지만 특정 조건에서 수행문을 생략하는 경우에 사용한다.
break문은 반복문을 더 이상 수행하지 않고 빠져나올 때 사용한다.
'JAVA' 카테고리의 다른 글
| 함수(매개변수, return), 스택 메모리, 메서드 (0) | 2024.12.11 |
|---|---|
| 객체 지향 프로그래밍, 클래스 (1) | 2024.12.11 |
| 반복문 (0) | 2024.12.09 |
| 조건문 (2) | 2024.12.09 |
| 비트 연산자, 연산자 우선순위 (0) | 2024.12.09 |