본문 바로가기

자바의 정석 정리

자바의 정석 - 4.1 조건문 if

4.1.1 조건문의 종류

  • if
  • switch

4.1.2 if

  • 가장 기본적인 조건문
  • 만일(if) 조건식이 참(true)이면 괄호 {} 안에 있는 문장들이 수행된다.
if(조건식){
}
  • 조건식은 일반적으로 비교 연산자와 논리 연산자로 구성된다.
if(x>=100){}
if(x>50 && x<100){}
if(str.equals("hello")){}
  • 조건에 맞는 문장이 하나일 때는 괄호 {}를 생략할 수 있다.
if(x>50) 
    System.out.println("x의 값이 50 초과입니다.");

4.1.3 if-else

  • else는 if의 조건식이 참(true)가 아닐 때 실행된다.
  • if-else를 사용하는 경우 하나의 조건식만 계산하면 되므로 간단하다.
if(조건1){
    //true
}else{
    //false
}

4.1.4 if-else if

  • 조건을 처리해야 하는 경우가 셋 이상일 때 사용된다.
  • else는 생략이 가능하다.
if(조건1){
}else if(조건2){
}else if(조건3){
}else{
}

4.1.5 중첩 if문

  • if 블록 내에 또 다른 if문을 포함한 것
  • 횟수 제한이 없다.
if(조건1){
    if(조건2){
        //조건 1,2가 모두 만족할 때 수행
    }else{
        //조건 1만 만족을 하고 조건2가 불만족일 때 수행
    }
}else{
    //조건1이 불만족일 때 수행
}
  • 수행 문장이 한 줄일 때 괄호 {} 생략가능
//개발자 의도 수행 코드
if(조건1){
    if(조건2){
    }    
}else{
    }

//개발자 코드
if(조건1)
    if(조건2)
else

//개발자 코드와 동일 수행 코드
if(조건1){
    if(조건2){
    }else{
    }
}

/*
괄호가 생략되면 else는 가장 가가운 if에 속한것이 되므로 개발자의 의도와
다른 코드가 실행되서 버그가 발생한다.
*/