일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GDSC_PKNU
- 부스트캠프
- 상태관리
- 변수
- 우선순위상속프로토콜
- 브라우저 렌더링
- CSSOM
- 모던 자바스크립트
- 렌더 트리
- 놀러와요_해커톤
- 모던자바스크립트
- 우선순위역전
- DB #데이터베이스
- 부스트캠프7기
- OS
- javascript
- 확인문제
- 멤버십
- GDSC
- 부스트컨퍼런스
- 운영체제
- 그룹프로젝트
- 회고
- Java
- CRDT
- 데이터독립성
- 인프콘
- 부스트캠프웹모바일
- js
- 타입
- Today
- Total
dohun.log
[Java]04.조건문과 반복문 본문
4.1 코드 실행 흐름 제어
4.2 조건문
4.2.1 if문
if문
if문은 조건식의 결과에 따라 블록 실행 여부가 결정된다.
if(조건식) {
// 조건식이 true
}
// 조건식이 false
조건식이 true일 경우 if문 내부의 실행문을 실행하고, false일 경우 if문 내부의 실행문을 실행하지 않는다.
int a = 1;
if(a < 10) {
System.out.println("a는 10보다 작아요.");
}
if-else문
if 문은 else 블록과 함께 사용되어 조건식의 결과에 따라 실행 블록을 선택한다.
if(조건식) {
// 조건식이 true
} else {
// 조건식이 false
}
조건식이 true일 경우 if문 내부의 실행문을 실행하고, false일 경우 else문 내부의 실행문을 실행한다.
int a = 1;
if(a < 10) {
System.out.println("a는 10보다 작아요.");
} else {
System.out.println("a는 10보다 크거나 같아요.");
}
if-else if-else문
여러개의 조건식 중 true가 되는 블록만 실행하고 전체 if문을 벗어나게 된다.
❓ if 블록의 끝에 else if문을 붙이면 된다.
if(조건식1) {
// 조건식1이 true
} else if(조건식2) {
// 조건식2가 true
} else {
// 조건식1이 false && 조건식2가 false
}
조건식1이 true일 경우 if문 내부의 실행문을 실행하고, 조건식2가 true일 경우 else if문 내부의 실행문을 실행한다.
만약에 조건식1, 조건식2 모두 false라면 else문 내부의 실행문을 실행한다.
int a = 1;
if(a < 10) {
System.out.println("a는 10보다 작아요.");
} else if(a == 10){
System.out.println("a는 10이에요.");
} else {
System.out.println("a는 10보다 커요.");
}
중첩 if문
if문의 블록 내부에 또 다른 if문을 사용할 수 있다.
if(조건식1) {
// 조건식1이 true
if(조건식2) {
// 조건식2가 true
} else {
// 조건식2가 false
}
} else {
// 조건식1이 false
}
조건식1이 true일 경우 if문 내부의 실행문을 실행하고, 조건식2가 true일 경우 if문 내부의 또 다른 if문 내부의 실행문을 실행한다.
int a = 1;
if(a < 10) {
if(a < 5) {
System.out.prinln("a는 5보다 작아요.");
} else {
System.out.println("a는 5보단 크고 10보단 작아요.");
}
} else {
System.out.println("a는 10보다 크거나 같아요.");
}
4.2.2 switch문
if문과 마찬가지로 조건 제어문이다.
❓ if문 → 조건식이 true일 경우 내부 블록 실행
❓ switch문 → 변수가 어떤 값을 갖느냐에 따라 실행문 선택
switch(변수) {
case 값1:
// 변수 == 값1
break;
case 값2:
// 변수 == 값2
break;
default:
// 변수 != 값1 && 변수 != 값2
}
괄호 안의 값과 동일한 값을 갖는 case로 가서 실행문을 실행한다. 괄호 안의 값과 동일한 값을 갖는 case가 없는 경우 default로 가서 실행문 실행한다.
int a = 1;
switch(a) {
case 1:
System.out.println("a는 1이에요.");
break;
case 2:
System.out.println("a는 2에요.");
break;
default:
System.out.println("a는 1도아니고 2도 아니에요.");
break;
}
❓ case 끝에 break가 붙어 있는 이유 → 다음 case를 실행하지 말고 빠져나오기 위해서
int a = 1;
switch(a) {
case 1:
System.out.println("a는 1이에요.");
case 2:
System.out.println("a는 2에요.");
break;
default:
System.out.println("a는 1도 아니고 2도 아니에요.");
break;
}
만약 case1의 break가 없다면 결과는 다음과 같을 것이다.
// a는 1이에요.
// a는 2에요.
switch문의 괄호에 올 수 있는 타입
❓ ~ 자바6 → 정수 타입 변수, 정수값을 산출하는 연산식
❓ 자바7 ~ → ~ 자바6에서 가능한 타입 + String 타입
4.3 반복문
4.3.1 for문
똑같은 실행문을 반복적으로 실행할 경우 반복문 사용
// 반복문 사용 x
int sum = 0;
sum += 1;
sum += 2;
sum += 3;
sum += 4;
sum += 5;
System.out.println("1 ~ 5까지의 합: " + sum);
// 반복문 사용
int sum = 0;
for(int i = 1; i <= 5; i++) {
sum += i;
}
System.out.println("1 ~ 5까지의 합: " + sum);
for(초기화식; 조건식; 증감식) {
실행문
}
for문의 흐름
- 초기화식 (생략 가능)
- 조건식 평가
- true일 경우 내부 실행문 실행
- false일 경우 반복문 종료
- 증감식 실행
- 반복문이 종료될때까지 2, 3 반복
4.3.2 while문
for문과 마찬가지로 반복문이다.
❓ for문 → 정해진 횟수만큼 반복
❓ while문 → 조건식이 true일 경우 반복
while(조건식) {
실행문
}
조건식이 true일 경우 while문 내부의 실행문을 실행하고, false일 경우 반복문 종료한다.
int i = 0;
while(i < 10) {
i += 1;
}
// i = 10
4.3.3 do-while문
while문과 마찬가지로 조건식에 의해 반복 실행한다.
❓ while문 → 조건식이 true일 경우 반복 (시작할 때 조건식 검사)
❓ do-while문 → 조건식이 true일 경우 반복 (블록 내부의 실행문을 우선 실행시키고 조건식 검사)
do {
실행문
} while(조건식);
int i = 0;
do {
i += 1;
} while(i < 10);
// i = 10
4.3.4 break문
반복문을 실행 중지할 때 사용된다. switch문에서도 사용
for(...) {
.
.
break;
x
x
}
break문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문은 종료시키지 않는다.
❓바깥쪽 반복문 종료하려면 → 반복문에 이름붙이고 "break 이름;" 사용
Label: for(...) {
for(...) {
break Label;
x
x
}
x
x
}
4.3.5 continue문
continue문은 반복문에서만 사용
❓ for문 → 증감식으로 이동
❓ while문 → 조건식으로 이동
❓ do-while문 → 조건식으로 이동
출처: 이것이 자바다 Chater04 조건문과 반복문
'Study > Java' 카테고리의 다른 글
[Java]05.참조 타입 (2) | 2022.01.18 |
---|---|
[Java]01.자바 시작하기 (1) | 2022.01.11 |
[Java]03.연산자 (0) | 2022.01.10 |
[Java]06.클래스-확인문제 (0) | 2021.12.29 |
[Java] 02.변수와 타입 (0) | 2021.12.20 |