제어문
조건문
- If문
- switch문 :
- 제약조건 : 1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
2. case문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 한다.
- 제약조건 : 1. switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
public static void main(String[] args) {
int num, result;
final int ONE = 1;
switch(result) {
case '1' : // OK. 문자 리터럴 (정수 49와 동일)
case ONE : // OK. 정수 상수(final)
case "YES" : // OK. 문자열 리터럴. JDK 1.7부터 허용
case num : // X, 변수는 불가
case 1.0 : // X, 실수도 불가
}
}
반복문
- for문 :
- for(int i=1, j-0; i<=10; i++) -> 둘 이상의 변수 초기화 가능, 콤마로 구분하며, 두 변수의 타입이 같아야 한다.
- for(int i=1, j=10; i<=10; i+=, j--) -> 증감식도 콤라를 사용해 두 문장 이상을 하나로 연결해서 쓸 수 있다.
- for( ; ; ) -> 초기화, 조건식, 증감식 모두 생략 가능. 조건식이 생략된 경우, True로 간주되어 무한 반복문이 된다.
대신 이런 경우 블럭{} 안에 if문을 넣어서 특정 조건을 만족하면 for문을 빠져 나오게 해야 한다.
- while문
- do-while
- break문
- continue문
- 이름 붙은 반복문
분기문(break문, continue문)
break문 :
- 반복문(while문, for문), switch문에 사용 가능
- if 안에 break 사용 불가(밖에 for문이나 switch문이 있어야함)
continue문 :
- 반복문(while문, for문) 내에서만 사용 가능
- if 안에 break 사용 불가(밖에 for문이나 switch문이 있어야함)
* 참고) break문은 근접한 단 하나의 반복문만 벗어날 수 있기 때문에, 중첩 반복문 시에는 중첩 반복문 앞에 이름을 붙이고 break문과 continue문에 이름을 지정해 줌으로써 하나 이상의 반복문을 벗어나거나 반복문을 번너 뛸 수 있다.
package student.dto;
public class Practice {
public static void main(String[] args) {
// for문제 Loop1이라는 이름을 붙여줌
Loop1 : for(int i=2; i<=9; i++) {
for(int j=1; j<=9; j++) {
if(j == 5)
break Loop1; // 2단*5일시 더이상 수행하지 않고 몯느 for문을 종료 (2 * 1~4만 수행)
//break; // 2단*5일시 더이상 계산하지 않고 Loop1로 빠져나가서 3단 구구단을 수행 (i * 1~4만 수행)
//continue Loop1; // 2단*5 일시 더이상 계산하지 않고 Loop1로 빠져나가서 3단 구구단을 수행 (i * 1~4만 수행)
//continue; // 2단*5 일시 이 계산만 무시하고 2단*6으로 넘어가서 2단 구구단 마저 수행 (i * 1~4, i * 6~9 수행)
System.out.println(i + "*" + j + "=" + i*j);
} // 안쪽 for문
} // 바깥 for문(Loop1)
}
}
위의 코드예시처럼, 반복문의 이름이 지정되지 않은 break문은자신이 속한 하나의 반복문만 벗어날 수 있지만, 반복문에 이름을 붙여 주고 break문에 반복문 이름을 지정해주면 하나 이상의 반복문도 벗어날 수 있다.
'백엔드 > Java' 카테고리의 다른 글
| [Java] 5. 배열(Array) (0) | 2023.07.31 |
|---|---|
| [Java] 2. 변수(Variable) (0) | 2023.07.31 |
| [Java] 3. 주의해야할 연산자 특징들 (0) | 2023.07.31 |
| [Java] 1. 자바와 JVM (0) | 2023.07.31 |
| [JAVA] 출력 메소드(print, printf, println)와 서식지정자 (0) | 2023.06.14 |
댓글