반응형
해당 글에서는 반복문에서 사용하고 있는 제어문에 대해 이해하고 상황에 맞게 사용하는 방법에 대해 알아봅니다
1) 반복문
💡 제어문을 활용할 수 있는 반복문에는 for문, for~each문, while문, do~while문에서 활용이 가능합니다.
💡 [참고] 반복문에 대해 궁금하시다면 아래의 글을 참고하시면 도움이 됩니다.
2) 제어문 종류 및 활용
1. break
💡 break
- 수행하는 ‘반복문을 즉시 종료’시키는 역할을 수행하는 제어문입니다.
- 반복문 내에서 조건을 만족하면 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);
}
}
💡 출력 결과
i: 1, j: 1
i: 1, j: 2
i: 1, j: 4
i: 1, j: 5
i: 2, j: 1
i: 2, j: 2
i: 2, j: 4
i: 2, j: 5
i: 3, j: 1
i: 3, j: 2
i: 3, j: 4
i: 3, j: 5
i: 4, j: 1
i: 4, j: 2
i: 4, j: 4
i: 4, j: 5
i: 5, j: 1
i: 5, j: 2
i: 5, j: 4
i: 5, j: 5
3. return
💡 return
- 현재 메소드의 ‘실행을 중단하고 호출한 곳으로 돌아가는 역할’을 수행하는 제어문입니다.
- 반복문 내에서 조건을 만족하면 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문은 ‘함수의 실행을 제어’하고 값을 반환할 때 사용됩니다.
오늘도 감사합니다. 😀
반응형
'Java > 이론 및 문법' 카테고리의 다른 글
[Java] JVM(Java Virtual Machine) 이해하기 -2 : 메모리 영역(Runtime Data Area) (0) | 2023.10.07 |
---|---|
[Java] JVM(Java Virtual Machine) 이해하기 -1 : 동작 과정 (0) | 2023.10.06 |
[Java] 사용 목적에 따른 반복문(Loop) 이해하기 (0) | 2023.08.27 |
[Java] 다양한 형 변환(Type Conversion) 방법 이해하기 : 캐스팅(Casting) (0) | 2023.08.26 |
[Java] JDK(Java Development Kit), Open JDK 이해하기 (0) | 2023.06.25 |