본문 바로가기
JAVA BASE/Control Statement(제어문)

01. [자바] 조건문 - if

by staticClass 2020. 12. 3.

if문

내 생각에 if문은 가장 기본이면서도 자바의 3분에 1정도 지분을 차지 한다고 생각한다! 😎
if문은 '조건식'과 '괄호{}'로 이루어져 있고
if의 영어 뜻은 '만약 ~이라면'이므로 '만일(if) 조건식이 true면 괄호{} 안의 문장들을 수행하라'
정도로 이해하자

if(조건식) {
    //조건식이 true면 실행
}

만일 score > 60이 참(true)면 괄호{} 안의 문장이 수행되어 화면에 "합격입니다."라고 출력
거짓(false)면 괄호{}를 생략하고 넘어가게 된다.

if(score > 60) {
    System.out.println("합격입니다.");
}

이제 score가 80이라고 가정 하고 실행 과정을 풀어보면

  score > 60
→ 80 > 60
→ true    //조건식이 true이므로 괄호{} 안의 문장 실행

if-else문

그렇다면 if조건이 false 상태일때 실행되는 문장을 구현할수는 없을까??
당연히 있다, else블럭을 더 추가해주면 된다😁
편하게 코드를 보면서 이해해보자!

if (조건식) {
    // 조건식이 true일때 수행되는 블럭
} else {
    // 조건식이 false일때 수행되는 블럭
}

조건식이 false일때는 위의 코드처럼 if부분의 괄호{}를 건너 뛰고 else부분의 괄호{}를
실행하게 된다.

if-else if문

또! 또! 그렇다면 if-else문은 true와 false의 경우에만 작동하는데
또다른 조건을 추가해주고 싶으면 어떻게 해야할까?
이것도 당연히 있다, else if를 추가하면 된다 🤡

if (조건식1) {
    // 조건식 1이 true일 때 수행되는 블럭
} else if (조건식2) {
    // 조건식 2가 true일 때 수행되는 블럭
} else if (조건식3) {
    // 조건식 3이 true일 때 수행되는 블럭
} else { // 마지막에는 보통 else 블럭으로 끝나며, else블럭은 생략가능하다.
    // 위의 조건식이 모두 false일때 수행되는 블럭
}

첫번째 조건식1 부터 조건식3까지의 결과중 true가 나오면 해당 블럭{}만 수행하고 if-else if문 전체를 벗어난다.
만일 결과가 true인 조건이 하나도 없다면 else블럭이 실행되며 만약 else블럭이 없다면 if-else if문의
어떤 블럭도 소행되지 않을 수 있다.

중첩 if문

if문의 블럭 내에 또 다른 if문을 포함시키는 것이 가능하고 이것을 중첩if문이라고 한다
중첩의 횟수에는 거의 제한이 없다.

if(조건식1) {
    if(조건식2){
        // 조건식1과 조건식2가 모두 true일 때 수행될 문장들
    } else {
        // 조건식1이 true이고, 조건식2가 false일 때 수행되는 문장들
    }
} else {
    // 조건식1이 false일 때 수행되는 문장들
}

나는 정말 if문을 사랑한다.. 위와 같은 구조를 수차례 쌓아올려 프로그램이 만들어진다😍

 

 


 

나는 삼항 연산자를 너무나도 고통스럽게 많이 써와서 싫어한다!
그에 대한 반동인지 if문을 너무나도 좋아한다..👻

댓글