- 반복문 내에서 조건을 만족하면 break 문을 만나는 순간 반복문을 빠져나오고, 반복이 중단됩니다. 이는 특정 조건이 충족되었을 때 반복을 멈추고 다음 코드로 이동하기 위해 사용됩니다.
💡 활용 예시
- 아래의 예시는 이중 for문으로 구성되어 있습니다. - 내부 for문을 수행하는 도중에 인덱스 값이 i와 j가 2가 되는 순간 break 제어문을 만나게 되어 종료합니다.
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
System.out.println(i + ", " + j);
if (i == 2 && j == 2) {
break;
}
}
}
💡출력 결과
1, 1
1, 2
1, 3
2, 1
2, 2
[ 더 알아보기 ] 💡 그럼 이중 for문 일 경우 내부 for문에 break가 발생하면 내부 for문만 중단되고 외부 for문은 수행되는 거 맞나?
- 맞습니다. 이중 for문에서 내부 for문에 break가 있다면 내부 for문만 중단이 되고 다음 외부 for문이 수행됩니다.
2. continue
💡 continue - 반복문의 ‘현재 단계를 건너뛰고 다음 반복 단계로 넘어가는 역할’을 수행하는 제어문입니다.
- 반복문 내에서 특정 조건에 따라 특정 코드 블록을 건너뛰고자 할 때 사용됩니다. continue 문을 만나면 남은 코드를 실행하지 않고, 다음 반복 단계로 진행합니다. - 예로는 for문을 이용한 경우 i가 1번 인덱스일 경우 바로 2번 인덱스를 수행하도록 넘어갑니다.
💡 활용예시
- 아래의 예시는 이중 for문으로 구성되어 있습니다. - 내부 for문을 수행하는 도중에 인덱스 값이 j가 3가 다음 인덱스로 넘어갑니다. - 결론적으로 j가 3인 경우인 "i: 1, j: 3"과 "i: 2, j: 3"은 출력되지 않고 건너뛰게 됩니다.
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (j == 3) {
continue;
}
System.out.println("i: " + i + ", j: " + j);
}
}
- 현재 메소드의 ‘실행을 중단하고 호출한 곳으로 돌아가는 역할’을 수행하는 제어문입니다.
- 반복문 내에서 조건을 만족하면 return; 문을 만나는 순간 반복문을 빠져나오고, 메소드의 실행이 중단됩니다.
💡 활용예시
- 아래의 예시는 이중 for문으로 구성되어 있습니다. - 내부 for문을 수행하는 도중에 j의 인덱스 값이 3인 경우 반복문을 호출한 곳으로 돌아가게 됩니다. - 결론적으로 j가 3인 경우인 "i: 1, j: 3" 이후의 반복은 return 문으로 인해 실행되지 않고 반복문이 종료됩니다.
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5; j++) {
if (j == 3) {
return;
}
System.out.println("i: " + i + ", j: " + j);
}
}
💡 출력 결과
i: 1, j: 1
i: 1, j: 2
[ 더 알아보기 ] 💡 break문과 return문이 비슷한 역할을 하는거 같으면서 다른데 무슨 차이야?
- break문: 반복문 (예: for, while) 내에서 사용되며, 해당 반복문을 즉시 종료하고 다음 코드로 이동합니다. - return문: 함수 내에서 사용되며, 함수를 호출한 곳으로 값을 반환하고 함수 실행을 종료합니다.
- 결론적으로 break문은 ‘반복문을 제어’하고 중단할 때 사용되지만 return문은 ‘함수의 실행을 제어’하고 값을 반환할 때 사용됩니다.