1. break 키워드
- 반복문에서 특정 조건을 만족할 때 반복문을 탈출하는 데 사용
- 반복문 안에 break만 단독으로 사용된 예
for(int i=0;i<10;i++) {
System.out.println(i);
break; //반복문 탈출 실행
} //if문을 제외하고 가장 가까운 중괄호 탈출
-> for 문의 반복횟수와 상관없이 단 하나의 출력만 실행
- 반복문 안에 if문과 함께 break가 사용된 예
for(int i=0; i<10; i++) {
if(i==5) {
break;
}
System.out.println(i); //i = 0,1,2,3,4일때 출력
}
- break를 통해 탈출하는 것은 if문을 제외한 가장 가까운 중괄호 하나
- 이중 for문 내에서 break를 통한 반복문의 탈출
for(int i=0; i<10; i++) { //바깥쪽 for문
for(int j=0; j<10; j++) { //안쪽 for문
if(j==3)
break;
System.out.println(i+","+j);
//(i,j)=((0,0),(0,1),(0,2),(1,0),(1,1),...,(9,2))
}
}
- 변숫값을 조정해 이중 for문 한번에 탈출하기
for(int i=0; i<10; i++) { //2) i값이 조건식을 만족하지 않아 바깥쪽 for문 종료
for(int j=0; j<10; j++) {
if(j==3) {
i=100; //1) break를 실행하기 전 i값 변경
break;
}
System.out.println(i+","+j); //(i,j)=((0,0),(0,1),(0,2))
} //3) 안쪽의 for문 중괄호 탈출
}
- break +Label(레이블)
- break로 다중 반복문을 한 번에 탈출하는 자바의 공식적인 방법
- break 다음에 레이블을 지정하면 한 번에 여러 개의 다중 반복문을 탈출
- 레이블 다음에는 반드시 콜론(:)표시
- 레이블을 이용해 이중 for문 한번에 탈출하기
out: //레이블 위치 지정(break하고자 하는 반복문 앞에 레이블 표기)
for(int i=0; i<10; i++) {
for(int j=0; i<10; j++) {
if(j==3)
break out; //out레이블이 달린 반복문 탈출
System.out.println(i+","+j);
}
} //break out으로 탈출하는 중괄호
2. continue 제어 키워드
- 반복 제어문의 닫힌 중괄호(}) 역할을 하는 제어 키워드
- 반복문 실행 도중 continue를 만나면 실행해야 할 코드가 남아 있더라도 마치 닫힌 중괄호를 만난 것처럼 다음 반복을 위해 증감식을 수행하거나 조건식을 검색
- 반복 과정에서 특정 구문을 실행하지 않고 건너뛰고자 할 때 사용
-반복문 안에 if문과 continue가 사용된 예
for(int i=0; i<10; i++) {
if(i==5) { //if문으로 continue를 실행할 조건 설정
continue;
}
System.out.println(i); //0,1,2,3,4,6,7,8,9
} //continue가 대체하는 중괄호
- 이중 for문 내에서 continue를 통한 실행 명령 건너뛰기
for(int i=0; i<5; i++) {
for(int j=0; j<5; j++) {
if(j==3) {
continue;
}
System.out.println(i+","+j);
}
}
-> 바깥쪽 for문의 i값은 0,1,2,3,4로 총 5회 반복하고, 안쪽 for문은 j==3일때를 제외해 j값이 0,1,2,4로 총 4회 출력문 실행
-> 총 20회 실행
- continue Label을 이용해 이중 for문 내에서 여러 개의 반복문을 한 번에 건너뛰기
POS1: //레이블 위치 지정(continue하고자 하는 반복문 앞에 레이블 표기)
for(int i=0; i<5;i++) {
for(int j=0; i<5; i++) {
if(j==3) {
continue POS1; //POS1 레이블이 달린 반복문의 닫힌 중괄호 대체
}
System.out.println(i+","+j);
}
} //continue POS1로 대체하는 중괄호
-> continue가 대체하는 중괄호는 레이블이 가리키고 있는 바깥쪽 for문의 닫힌 중괄호이므로 i++의 증감식으로 바로 이동
-> 바깥쪽 for문은 i값이 0,1,2,3,4로 총 5회 반복하고 , 안쪽 for문은 j값이 0,1,2로 총 3회 반복
-> 총 15회 실행
'Java' 카테고리의 다른 글
5-1장 배열 (2) (0) | 2023.04.22 |
---|---|
5-1장 배열(1) (0) | 2023.04.22 |
4-1장 제어문 (2) 반복문 (0) | 2023.04.21 |
4-1장 제어문 (1) 조건문 (0) | 2023.04.21 |
3-2장 연산자의 연산 방법 (0) | 2023.04.19 |