JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter1

Java - 조건문 if

giggs 2021. 12. 23. 18:47

 

조건문 if

 

 

주어진 조건에 따라 다른 실행이 이루어지도록 구현

 

'재산이 1억 이상이면 100만원을 세금으로 낸다 그렇지 않으면 내지 않는다'를 구현한다면

만약에 (재산이 1억 이상이면){
세금을 100만 원 낸다
}
그렇지 않으면 {
세금을 내지 않는다
}

 

 

 

if 문법

if(조건식){
  수행문;      // 조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨 
 }             // 조건식이 '참'이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음

 

 

 

 

if-else 문법

 

if( 조건식) {

    수행문1;   // 조건식이 '참'인 경우에 수행됨
}
else{
    수행문2;    // 조건식이 '참'이 아닌 경우에 수행됨
}

 

조건식에는 참-거짓 판별 가능한 것들

수행문에는 관계 관련된 것들 주로 씀

 

if문은 참이 아니면 수행 안 함

if-else문은 참이 아니면 else 수행문 수행

 

 

 

 

 

 

 

 

 

 

참이면 if 실행

 

 

참이 아니면 else 실행

 

 

 

 

 

 

 

 

 

 


 

 

조건이 여러 개일 때 if 문

 

 

if - else if - else if - else

마지막 else는 디폴트 조건

각 조건은 상호 배타적임

 

  if(조건식1){
      수행문1;        // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  }
  else if(조건식2){
      수행문2;        // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  }
  else if(조건식3){
      수행문3;        // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
  }
  else{
      수행문4;        // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
  }

  수행문5;            // if-else if-else 문이 끝나면 수행됨( if 문과 별개로 무조건 수행됨)

  가령 조건식2가 만족되면 수행문2 -> 수행문5  순으로 수행됨

 

 

 

 

 

 

 

 

 

 

 

 

if

else if

else if

else

 

else에 charge 값 안주면 오류남

기본값을 안 주었기 때문에

 

 

 

 

 

age 다른 숫자 대입 시 

조건에 맞게 잘 출력됨 확인

GOOD :)

 

 

 

 

 

 

 

if-else if 문과 if-if 문의 차이점

 

 

 

if- else if를 사용하는 경우 하나의 조건이 만족되면 나머지 else if 부분은 수행되지 않음

if - if로 사용하게 되면 각각 다른 조건 문으로 해석되어 각각 수행하게 됨

 

하나의 사건에 대해서 조건 여러 개를 비교 -> if-elseif-else 사용

각각의 사건에 대해서 조건 비교 -> if if 사용

 

 

 


 

 

switch-case 문

 

 

 

 

if - else if - else 문을 사용할 때 복잡하고 번거로운 부분을 가독성 좋게 구현

+ break + default

비교 조건이 특정 값이나 문자열인 경우 사용

break 문을 사용하여 각 조건이 만족되면 switch 블록을 빠져나오도록 함

자바 14부터 좀 더 간결해진 표현식이 지원됨 ( break 사용하지 않음 )

 

 

 

 

쭈 우우 욱 입력

여기서는

중괄호 쓰지 않는다.

 

 

제일 지저분하게 코딩한 것..

 

 

 

 

 

 

 

 

 

 

 

 

 

오류 임으로 day -1 출력

 

 

 

 

 

 

 

 

같은 day 값 가지는 것들은

묶어서 옆에다가 쭉~

 

깔끔해졌다.

 

 

 

 

 

 

 

결과 값은 동일하게 출력

 


 

 

문자열 지원되는 sitch - case 문

 

조건에 숫자하고 문자만 가능했지만 문자열은 안됐다.

문자열을 쓰려면 string이나 if를 써야 했지만

sitch - case는 문자열 지원됨

 

 

 

 

 

 

 

break; 꼭 필요!

없으면 나올 때까지 실행 후 빠져나옴

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Switch Expression - java 14부터 지원

 

 

  • 간단하게 쉼표(,)로 조건 구분
  • 식으로 표현하여 반환 값을 받을 수 있음. 리턴 값이 없는 경우는 오류가 생김
  • yield 키워드 사용

 

 

 

 

 

( , ) 로 간단하게 표현 가능

( -> ) 사용

 

break 필요 없음

yield 값 필요

반환 값 받을 수 있다.

 

default 값 필요

반환 값도 필요 0

 

}; 끝 처리 필요

 

 

 

 

 

 

 

 

 

 

익숙해지면 ( , ) 로 쓰는 방식도 편리하다. 쓰는 형식이 좀 달라서 주의해야 하지만.

아직 java 14 버전 이전으로 사용하는 곳도 많아서 : : : 나열하는 것과 , , , 쓰는 법 모두 알고 있어야 한다.

 

 

 

swich case 1 : case 2: case 3: {

day= 31;

break;

default;

 }

 

 

swich case 1, 2, 3 -> {

 yield ;}

default

};

 

 


 

 

 

review

조건문 if에 대해 학습!

조건이 참이라면 실행 참이 아니면 실행하지 않는다.
^___^

조건문의 switch case 하는 2가지 방법은 새로웠다.
제일 지저분한 코딩으로 일일이 다 코딩하는데 시간도 걸리고 보기도 안 좋았는데
switch

점점 가독성과 편리성을 갖춘 방법으로 언어를 쓰는 방법이 진화하는 것 같다.
이것이 개발자가 평생 공부해야 하는 이유 중 하나겠지?

조건문 머릿속에 새겨놓고
다음으로 고고
GOOD :)