break문
switch문에 break이 있듯이 반복문에도 break가 있다. switch문에서 그랬던 것처럼
break문은 자신이 포함된 가장 가까운 반복문을 벗어나며, 주로 if문과 함께 사용되어
특정 조건을 만족하면 반복문을 벗어나도록 한다.
int i = 0;
while(true){ // ← 특별한 제어가 없다면 이 while문은 무한으로 반복한다.
if(i == 10){ // i가 10이 되면 if문 실행
break; // 멈춘다
}
i++;
}
이런 무한 반복문에는 조건문과 break문이 항상 같이 사용된다.
그렇지 않으면 무한히 반복되기 때문에 프로그램이 종료되지 않을 것이다.
continue문
continue문은 반복문 내에서만 사용될 수 있고, 반복 도중 continue를 만나면
반복문의 끝으로 이동 후 다음 반복으로 넘어간다.
continue의 경우 반복문 전체를 벗어나지 않고 다음 반복으로 넘어간다는 게 break와 다른 점이다.
for(int i = 1 ; i <= 10 ; i++){
if(i%2 != 0){ //짝수가 아닐 continue : 포문 처음으로 돌아가라
continue;
}
System.out.println(i); //짝수만 출력된다
}
이름 붙은 반복문
break문은 해당 블록의 for문이나 while문 하나만 벗어날 수 있기 때문에
여러 개의 반복문이 중첩된 경우에는 break문으로 중첩 반복문을 완전히 벗어날 수 없다.
이때는 중첩 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해주어
하나 이상의 반복문을 벗어나거나 반복을 건너뛸 수 있다.
outer:
while(true) {
···
for(;;) {
···
if(num==0){
break; // for문을 벗어난다
continue // for문의 시작으로 돌아간다.
}
if(num==9){
break outer; // for문과 while문 모두 벗어난다.
continue outer; // while문의 시작으로 돌아간다.
}
}//for문 끝
}//while문 끝
사실 break나 continue는 알고 있었지만😑
반복문에 이름을 달수 있다는것은 모르고 있었다.
하아..💨 나의 과거🤦♂️
당연히 이름 다는것을 모르니
break와 continue를 잘 사용하지 못했고
이 두개면 간단하게 처리할 반복문들도 매우 어렵고 힘들게
처리했었다.
앞으로는 이름 많이 지어주면서 편하게 코딩 해야지😜
댓글