조건문 이란?
- 주어진 조건에 따라 다른 실행이 이루어 지도록 구현
- '재산이 1억 이상이면 100만원을 세금으로 낸다 그렇지 않으면 내지 않는다' 를 구현 한다면
if-else if-else 문
- 하나의 상황에 대한 조건이 여러개로 나뉘고 각 조건에 다른 수행이 이루어져야 할 경우 사용
- 각 조건은 상호 배타적임
switch - case 문
- if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현
- 비교 조건이 특정 값이나 문자열인 경우 사용
- break 문을 사용하여 각 조건이 만족되면 switch 블럭을 빠져나오도록 함
- 자바 14부터 좀 더 간결해진 표현식이 지원 됨 ( break 사용하지 않음 )
package ch16;
public class SwitchCaseTest {
public static void main(String[] args) {
int month = 11;
int day;
switch(month) {
case 1: case 3: case 5: case 8: case 10: case 12:
day = 31;
break ;
case 4: case 6: case 9: case 11:
day = 30;
break;
case 2:
day = 28;
break;
default:
day = 0;
System.out.println("존재하지 안는 달 입니다 ");
}
System.out.println(month + "월은 " + day + "일 입니다. ");
// Java 14 부터 지원 되는 Switch Expression
//
// 간단하게 쉼표(,)로 조건 구분
//
// 식으로 표현 하여 반환 값을 받을 수 있음. 리턴 값이 없는 경우는 오류가 생김
//
// yield 키워드 사용
int month2 = 3;
int day2 = switch (month) {
case 1, 3, 5, 7, 8, 10,12 -> {
System.out.println("한 달은 31일입니다.");
yield 31;
}
case 4,6,9,11 -> {
System.out.println("한 달은 30일입니다.");
yield 30;
}
case 2 ->{
System.out.println("한 달은 28일입니다.");
yield 28;
}
default->{
System.out.println("존재하지 않는 달 입니다.");
yield 0;
}
};
}
}
반복문 이란?
- 주어진 조건에 맞는 동안(true) 지정된 수행문을 반복적으로 수행하는 제어문
- 조건이 "맞지 않으면" 반복하던 수행을 멈추게 됨
- 조건은 주로 반복 횟수나 값의 비교의 결과에 따라 true, false 판단 됨
- 예) 달리는 자동차, 일정 횟수 만큼 돌아가는 나사못, 특정 온도까지 가동되는 에어컨등
반복문 - do-while문
조건과 상관 없이 한번은 수행문을 수행
- while문은 조건을 먼저 체크하고 반복 수행이 된다면, do-while은 "조건과 상관 없이" 수행을 한 번 하고나서 조건을 체크
- 조건이 맞지 않으면(true 가 아니면) 더 이상 수행하지 않음
19. 반복문 - for 문
for문의 문장들은 생략가능 합니다.
반복문이 여러 번 포개진 중첩 반복문
중첩 반복문이란?
- 반복문 내부에 또 다른 반복문이 있음
- 여러 겹으로 반복문을 겹쳐서 구현 가능 (단 수행시간에 문제가 발생할 수 있음)
세겹이면 O(n^3) 으로 됨 - 외부 반복문과 내부 반복문 간의 변수 값 변화에 유의 하며 구현하여야 함
- 구구단 구현할 때 주로 이용할 수있음
중간에 멈추는 break문, 무시하고 계속 진행하는 continue문
break문 사용하기
- 감싸고 있는 제어문의 블록을 빠져 나오는 기능 (switch문 에서도 사용)
- 반복문에서는 주로 조건문(if)와 같이 사용하여 조건에 해당되는 경우 반복 수행을 멈추고 반복문 외부로 수행이 이동
- 여러 반복문이 중첩되어 있는 경우엔 break 문이 포함되어 있는 반복문만 빠져 나옴
continue문 사용하기
- 반복문 내부에서 조건문(if)와 같이 사용하며, 조건이 맞는 경우(true 이면) 이후 반복문 블럭 내부의 다른 수행문들을 수행하지 않음
[마무리]
< 추가적 공부 필요한 부분>
1. continue 에 대한 간단한 예제 해보기
<회고>
1
switch 나 continue 처럼 잘 사용하지 안았던 것들에 대해서 한번 눈으로 익힌 기회가 좋았던것 같다.
'배움 __IL > TIL 0기' 카테고리의 다른 글
TIL - 연산자들 [221110-2] (0) | 2022.11.10 |
---|---|
TIL - 상수, 리터럴 [221110 - 1] (0) | 2022.11.10 |
TIL - 각종자료형 [221108] (1) | 2022.11.08 |
TIL - 자료표현과 변수 [221105] (0) | 2022.11.05 |
[TIL-5] AWS로 서버 구매부터 실행 후 최종 배포까지 (0) | 2022.11.02 |