728x90
✍️ 학습 목표 : Java 제어문과 친해지기!
- 선택문
- 반복문
📌 제어문
코드의 흐름을 조정하는 제어하는 구문이다. 3가지로 나누어 볼 수 있다.
- 선택문 : if-then, if-then-else, switch
- 반복문 : for, while, do-while
- 분기문 : break, continue, return
📌 선택문
선택지에 따라서 다른 문장이 수행되도록 하는 구문이다.
✔️ IF 문
// Example
if (condition1) {
...
} else if (condition2) {
...
} else {
...
}
- 가장 기본적인 선택문이다. 주어진 조건에 따라서 맞는 블록을 실행한다.
- 조건식의 결과는 참과 거짓 뿐이라 'else if'를 추가해야만 더 많은 조건을 따질 수 있다.
- 하나의 조건식으로 여러 경우를 처리할 때는 switch문을 사용한다.
✔️ switch 문
- 하나의 조건으로 여러 경우를 따질 수 있다.
// Example
switch (조건식) {
case 값1:
logic... // 조건식이 값1과 같을 때 실행되는 코드
break;
case 값2:
logic... // 조건식이 값2과 같을 때 실행되는 코드
break;
default:
logic... // 조건식과 일치하는 값이 없을 때 실행되는 코드
}
- 일치하는 값이 case 중에 존재한다면 해당하는 case의 코드를 수행하고 없다면 default의 코드를 수행한다.
- 각 case를 수행하고 break를 만나야 switch문을 빠져나간다. 만나지 못하면 종료하지 않고 계속 진행된다. 보통 default가 맨 마지막에 위치하기 때문에 break를 생략하는 경우가 많다.
- 아래와 같은 코드처럼 break의 특징을 응용해서 사용할 수도 있다.
// Examlpe : 일부러 break문을 뺀 경우
public static void main(String[] args){
int level = 2;
switch (level) {
case 3:
grantDelete(); // 삭제 권한을 부여한다.
case 2:
grandWrite(); // 쓰기 권한을 부여한다.
case 1:
grandRead(); // 읽기 권한을 부여한다.
}
}
- switch문의 조건식 결과는 정수 또는 문자열이어야 한다.
- case문의 값은 정수, 상수만 가능하며 고유한 값이어야 한다.
📌 반복문
특정 구문을 조건만큼 반복해서 수행하는 구문이다.
✔️ for 문
// Example
for (int i = 1; i <= 5; i++) {
logic..
}
- 반복 회수를 알고 있을 때 사용하면 적합하다.
- '초기화 → 조건 → 코드 수행 → 증감식' 절차대로 수행된다.
- JDK 1.5부터 배열과 컬렉션의 요소에 접근하기 편리한 문법이 추가되었다.
// Example
public static void main(String[] args) {
String[] strings = new String[]{"one", "two", "three", "four"};
for (String string : strings) { // 타입 변수 : 배열(or 컬렉션)
System.out.println(string);
}
}
✔️ while 문
// Example
while (조건식) {
logic...
}
- 조건식이 false일 때까지 계속해서 주어진 코드를 수행한다.
- 얼마나 수행할지 모를 때 사용하기 적합하다.
✔️ do-while 문
// Example
do {
logic...
} while (조건식);
- while 문의 변형으로 조건식과 블록의 순서를 바꾸어 놓은 것이다.
- 블록이 우선이기에 얼마나 수행할지 모르지만 딱 한 번은 수행해야 할 때 사용하기 적합하다.
📌 분기문
조건문과 반복문 중간에서 주어진 조건의 흐름을 바꿀 수 있는 구문이다.
✔️ break 문
- 자신이 포함된 가장 가까운 반복문을 벗어난다.
- 특정 조건일 때 반복문을 벗어나려고 할 때 사용한다.
✔️ continue 문
- continue를 만나면 다음 반복까지 만나는 모든 코드를 넘어간다.
- 반복문을 종료하지 않고 다음 반복으로 넘어가려고 할 때 사용한다.
'언어 공부 > Java' 카테고리의 다른 글
[Java] Java의 상속 (2) | 2022.08.25 |
---|---|
[Java] Java의 클래스 (0) | 2022.08.17 |
[Java] Java의 연산자 (0) | 2022.08.15 |
[Java] Java의 데이터 타입, 변수 그리고 배열 (0) | 2022.08.12 |
[Java] JVM과 자바 코드 실행 (0) | 2022.08.08 |
댓글