01.19 조건문(IF, SWITCH)과 반복문

2023. 1. 19. 09:30개발일지

조건문(if, switch)

  • 조건문은 조건식과 실행될 하나의 문장 또는 블럭{}으로 구성
  • Java에서 조건문은 if문과 switch문 두 가지입니다.
  • if문이 주로 사용되며, 경우의 수가 많은 경우 switch문을 사용할 것을 고려합니다
  • 모든 switch문은 if문으로 변경이 가능하지만, if문은 switch문으로 변경 할 수 없는 경우가 많습니다.
    • if
      • if문은 if, if-else, else의 세가지 형태가 있습니다
      • 조건식의 결과는 반드시 true 또는 false이어야 합니다.
      • if(조건식) {
        조건식의 결과가 참일 때 실행하고자 하는 문장;
        }
    • if -else
      • if(조건식){
         조건식의 결과가 참일 때 실행하고자 하는 문장;
        }else{
         조건식의 결과가 거짓일 때 실행하고자 하는 문장;
        }
    • if - else if - else
      • if(조건식1){
         조건식1의 결과가 참일 때 실행하고자 하는 문장;
        }else if(조건식2){
         조건식2의 결과가 참일 때 실행하고자 하는 문장;
        }else{
         조건식1의 결과도 거짓이고, 조건식 2의 결과도 거짓일 때 실행하고자 하는 문장;
        }

중첩 if문

  • if문 안에 다른 if문을 중첩해서 넣을 수 있습니다.
  • if문의 중첩횟수에는 거의 제한이 없습니다
    • 중첩 if
      • if(조건식1){
         조건식1의 결과가 참일 때 실행하고자 하는 문장;
           if(조건식2){
              조건식1과 조건식2의 결과가 모두 참일 때 실행하고자 하는 문장;
            }else{
               조건식1의 결과가 참이고, 조건식2의 결과가 거짓일 때 실행하고자 하는 문장;
            }
        else{
         조건식1의 결과가 거짓일 때 실행하고자 하는 문장;
        }

ex)

중첩 if문 예시

블럭{}

  • 여러 문장을 하나로 묶어주는 것입니다. 만약 if 조건문에서 실행할 문장이 하나라면 if(조건식) 명령문; 이렇게 {} 생략될 수 있습니다.

조건식의 다양한 예

ex)

조건식의 다양한 예시

switch

  • 처리해야 하는 경우의 수가 많을 때 유용한 조건문입니다.
  • break;를 작성해 주지 않으면 switch 문 끝까지 실행됍니다.
  • default 문은 생략 가능합니다.
  • if문과 차이점은 if문은 조건식 결과에 true/false만 가능하며, switch는 정수나 문자열만 가능합니다.
  • 실행 흐름 확인하기
    • 조건식을 계산한다
    • 조건식의 결과와 일치하는 case 문으로 이동한다.
    • 해당 case 문의 문장들을 수행한다.
    • break;를 만나거나 switch 문이 끝나면 switch 문 전체를 빠져나간다.
  • switch(조건식){
     case 값1:
           조건식의 결과가 값1과 같을 경우 수행할 문장;
           break;
     case 값2:
           조건식의 결과가 값1과 같을 경우 수행할 문장;
           break;
     ...
     default:
            조건식의 결과와 일치하는 case 문이 없을 때 수행할 문장;
    }

switch 문의 제약조건

  • switch 문의 조건식 결과는 정수 또는 문자열 이어야 합니다.
  • case 문의 값은 정수 상수(문자 포함), 문자열만 가능하며, 중복되지 않아야 합니다.

ex)

switch문 예제코드

'개발일지' 카테고리의 다른 글

01.19 조건문과 반복문(WHILE문)  (0) 2023.01.19
01.19 조건문과 반복문(FOR문)  (0) 2023.01.19
01.19 조건문과 반복문(플로우차트)  (0) 2023.01.19
01.18 연산자  (0) 2023.01.18
01.18 변수  (0) 2023.01.18