[JAVA]기타제어문(break,continue)
기타제어문이란?
일반적으로 조건식의 검사를 통해 반복문 안으로 진입하게 되면 반복문 안에 있는
모든 코드들을 수행하게 되는데 이때 기타제어문을 통해 반복문 자체의 흐름을 제어할 수 있다.
기타제어문의 특징
- 반복문 안에 작성을 해야 한다.
- 기타제어문 밑에는 어떠한 코드도 올 수 없다. (에러가 발생하진 않지만 의미가 없다.)
기타제어문의 종류
- break
- continue
break
반복문 안에서 break를 만나게 되면 가장 가까운 반복문을 빠져나오고 다음 코드를 진행시킨다.
코드
int n = 1;
while(true) {
System.out.println(n);
n++;
if(n > 5) break;
}
결과
1
2
3
4
5
while문 조건에 true를 입력하게 되면 무한 루프에 걸리게 되지만 break문을 통해 강제로 빠져나오게 할 수 있다.
label break
일반적은 break는 가장 가까운 반복문을 빠져나오지만 label이란 것을 활용해서 원하는 반복문을 빠져나올 수 있다.
라벨의 형태
라벨명 : 반복문 {
break 라벨명;
}
코드
abc:for(int i = 1;i <= 3;i++) {
for(int k = 1; k <= 10; k++) {
System.out.print(k+ " ");
}
for(int j = 1; j <= 10; j++) {
if(j % 2 == 0) break abc;
System.out.print(j + " ");
}
System.out.println();
}
결과
1 2 3 4 5 6 7 8 9 10 1
라벨을 사용하지 않고 일반적인 break를 사용했다면 결과로 출력된 것이 3번 나와야 하지만
라벨을 사용해 첫 번째 반복문을 종료시켰기 때문에 한 번만 출력이 되는 것이다.
continue
반복문 안에서 continue를 만나게 되면 가장 가까운 반복문의 증감식으로 돌아간다. (증감식이 없다면 조건식으로 돌아간다)
코드
for(int i = 1; i <= 2; i++) {
for(int j = 1; j <= 5; j++) {
if(j%2==0) continue;
System.out.print(j + " ");
}
System.out.println();
}
결과
1 3 5
1 3 5
j에 짝수가 들어가면 조건문을 통해 continue를 만나게 되면서 for문으로 다시 돌아간다.
여기서 위에서 봤던 기타제어문의 특징 중에 하나인 "기타제어문 아래에는 어떠한 코드도 올 수 없다."의 의미를
확인할 수 있다. 만나면 어차피 아래에 있는 코드는 실행이 되지 않기 때문에 그런 것이다.
label continue
label break가 있듯이 continue도 label을 이용할 수 있다.
라벨명 : 반복문 {
continue 라벨명;
}
코드
int n = 0;
outer: while (true) {
if (n >= 10)
break;
while (true) {
n++;
if (n % 3 == 0) {
System.out.println("continue를 만남");
continue outer;
}
System.out.println(n);
}
}
결과
1
2
continue를 만남
4
5
continue를 만남
7
8
continue를 만남
10
11
continue를 만남
n을 1씩 증가시키면서 3의 배수를 만날 때마다 "continue를 만남"을 출력시키고 continue를 만나게 하는 코드다.
3의 배수를 만날 때마다 "continue를 만남"이 출력되는 것을 확인할 수 있다.
[JAVA] 배열(Array)
배열이란? - 같은 자료형의 변수를 지정하여 여러 데이터를 저장할 수 있는 저장공간을 의미한다. - 여러 데이터를 담을 수 있는 구조를 자료구조라고 한다. - 배열을 사용하면 같은 자료형의 데
treebomb-code.tistory.com