기타(보조제어문)
break 명령어
- 현재의 제어문을 빠져나가는 명령어.
- 보통 switch~case문과 반복문에서 사용됨.
- if문 블럭을 제외한 첫번째 블럭에서 빠져나오는 명령어.
break 예제01)
1부터 10까지의 값 출력해보기
public static void main(String[] args) {
// 반복문에서 break 명령어 예제
for(int i=1; i<=100; i++) {
if(i>10) { //i가 11되었을 때
break;
}
System.out.println("i>>>"+i);
}
}
반복하다가 i값이 11이 되는 순간 break 구문을 만나 for문을 탈출하게 된다
break의 탈출 범위는?!
break 문의 탈출 범위는 while, for, switch, do while 이다. 아래 코드를 보자
for (int b = 0; b < 200; b++) {
for (int i = 0; i < 10; i++) {
if (i == 5) {
System.out.println("break 실행");
break;
}
System.out.println("i = " + i);
}
System.out.println("b = " + b);
}
이 코드를 실행해보자. 착각했던 것이 i 가 5일때 if 안의 break 문으로 인해 if 만 탈출하는걸로 착각하였다
아니다.
break 문이 있으면 무조건 if 밖의 while, for, switch, do while 을 기준으로 가장 가까운 반복문의 탈출을 시도한다.
그러나 탈출의 한계는 반복문 1단계 뿐이다.
위 코드와 같이 이중 for 문일경우 가장 바깥쪽의 for문에는 영향을 받지 않는다.
가장 가까운 반복문을 탈출하고
for (int i = 0; i < 10; i++) {
다시 제일 바깥쪽의 반복문을 실행한다.
for (int b = 0; b < 200; b++) {
예문02 펼쳐보기▼
더보기
break문 예제02)
1부터 100까지의 합을 구하는데 합이 200이 되는 순간까지만 합을 구하여 화면에 출력해보세요.
// 1부터 100까지의 합을 구하는데 합이 200이 되는 순간까지만 합을 구하여 화면에 출력해보세요.
public static void main(String[] args) {
int sum=0, su; //변수 선언
for(su=1; su<=100; su++) {
sum=sum+su;
if(sum>=200) { //sum값이 200이 되는 순간 탈출
break;
} //if문의 end
} //for문의 end
//화면에 출력
System.out.println("su>>> " + su); // 합이 200이 되는 순간의 수의 값
System.out.println("sum>>>" + sum); //합이 200
}
2. continue 명령어
- 반복문에서만 사용하는 명령어
- 반복문을 탈출하는 것이 아니라, 다음 증감식으로 가는 명령어.
continue 예제01)
- 1부터 10까지의 정수 중 짝수만 출력하기
- 1부터 100까지의 정수 중 짝수 끼리의 합 구하기
public static void main(String[] args) {
//1부터 10까지의 정수 중 짝수만 출력하기
for(int i=1; i<=10; i++) {
if(i%2==1) {
continue; //조건식이 참이면 continue문이 수행되면 블럭의 끝으로 이동
}
System.out.println("i>>> " + i); // 짝수인 경우에는 값을 출력
} // 조건식이 참이면 continue문을 수행하고 이쪽으로 옴. 다시 반복문 시행
System.out.println(); //빈 줄 삽입
//1부터 100까지의 정수 중 짝수만 합한 값 구하기
int sum=0;
for(int i=1; i<=100; i++) {
if(i%2==1) {
continue; //조건식이 참이면 continue문이 수행되면 블럭의 끝으로 이동
}
sum=sum+i; //짝수끼리만 더하기
// 조건식이 참이면 continue문을 수행하고 이쪽으로 옴. 다시 반복문 시행
System.out.println("sum>>> " + sum);
}
'Back-End > Java' 카테고리의 다른 글
[Java] 단축 for문(개선된 for문, for each문) (0) | 2021.08.11 |
---|---|
[Java] 배열(array) (0) | 2021.08.11 |
[Java] 조건문 for문 (0) | 2021.08.08 |
[Java] 반복문 while, do while (0) | 2021.08.08 |
[Java] 조건문 switch~case문 (0) | 2021.08.08 |
댓글