<TIL> 9. Java 조건문

YUJIN LEE·2023년 2월 14일
0

개발log

목록 보기
9/149

Flowchart(흐름도)

어떠한 일을 처리하는 과정을 순서대로 간단한 기호와 도형으로 도식화한 것
알고리즘이나 프로그램의 논리 혹은 흐름을 그림으로 표현하는 방법




Flowchart 쉽게 그릴 수 있는 사이트

IF

if(조건식){
조건식의 결과가 참일 때 실행하고자 하는 문장;
}

if(조건식){
조건식의 결과가 참일 때 실행하고자 하는 문장;
} else{
조건식의 결과가 거짓일 때 실행하고자 하는 문장;
}

if(조건식 1){
조건식1의 결과가 참일 때 실행하고자 하는 문장;
} else if(조건식2){
조건식2의 결과가 참일 때 실행하고자 하는 문장;
} else{
조건식 1의 결과도 거짓이고, 조건식 2의 결과도 거짓일 때 실행하고자 하는 문장;
즉, 위의 어느 조건식에도 만족 x 때 수행
}

블럭{}

여러 문장을 하나로 묶어주는 것.

switch

switch(조건식) {
case 값1:
조건식의 결과가 값1과 같을 경우 수행할 문장;
break;
case 값2:
조건식의 결과가 값2와 같을 경우 수행할 문장;
break;
....
default:
조건식의 결과와 일치하는 case문이 없을 대 수행할 문장;

  • 처리해야 하는 경우의 수가 많을 때 유용한 조건문
  • break; 를 작성해주지 않으면 switch문 끝까지 실행
  • default 문은 생략 가능
  • if 조건문과 비교해보면 if는 조건식 결과에 true/false만 가능, switch는 정수나 문자열만 가능.
  • 실행 흐름 확인하기
    1. 조건식을 계산한다.
    1. 조건식의 결과가 일치하는 case문으로 이동한다.
    2. 해당 case 문의 문장들을 수행
    3. break;를 만나거나 switch 문이 끝나면 switch 문 전체를 빠져나간다

switch 문의 제약조건

  1. 스위치 문의 조건식 결과는 정수 or 문자열
  2. case 문의 값은 정수 상수(문자 포함), 문자열 만 가능하며, 중복되지 않아야 한다.

int num, result;
final int ONE = 1;
switch (result) {
case '1': // OK. 문자 리터럴(정수 49와 동일)
case ONE: // OK. 정수 상수
case "YES" // OK. 문자열 리터럴
case num: // Error. 변수는 불가능
case 1.0: // Error. 실수도 불가능
}

profile
인정받는 개발자가 되고싶습니다.

0개의 댓글