티스토리 뷰
기타제어문이란?
일반적으로 조건식의 검사를 통해 반복문 안으로 진입하게 되면 반복문 안에 있는
모든 코드들을 수행하게 되는데 이때 기타제어문을 통해 반복문 자체의 흐름을 제어할 수 있다.
기타제어문의 특징
- 반복문 안에 작성을 해야 한다.
- 기타제어문 밑에는 어떠한 코드도 올 수 없다. (에러가 발생하진 않지만 의미가 없다.)
기타제어문의 종류
- 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
'Java' 카테고리의 다른 글
| [JAVA]배열2(Arrays) (0) | 2023.12.01 |
|---|---|
| [JAVA] 배열(Array) (2) | 2023.11.30 |
| [JAVA] 제어문(for,while) (0) | 2023.11.28 |
| [JAVA] 제어문(if, switch) (0) | 2023.10.24 |
| [JAVA] 연산자 (2) | 2023.10.16 |
- Total
- Today
- Yesterday
- java overloading
- 자바 this()
- 게터세터 쉽게 만들기
- 자바 배열
- getter setter 쉽게 만들기
- 자료형
- 코딩
- 자바 Arrays
- java기초
- 모바일프레임워크
- 생성자 위치
- 자바 클래스 이해
- 자바 생명주기
- 자바 기초
- 생성자를 써야하는 이유
- Java
- 생성자란
- 자바 세터
- 변수 생명주기
- 자바기초
- 생성자 쉽게 만들기
- 생성자 호출 위치
- 자바 배열 생성
- 자바 배열 초기화
- 자바 게터
- 자바
- 배열 내림차순
- 자바 클래스 설명
- 자바 배열 내림차순 정렬
- 코린이
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |