> For the complete documentation index, see [llms.txt](https://nbcamp.gitbook.io/java-handbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nbcamp.gitbook.io/java-handbook/part-03./if.md).

# IF

## if

> ### if (조건식) {&#x20;
>
> ### &#x20;         조건식의 결과가 <mark style="color:blue;">참</mark>일 때 실행하고자 하는 문장;
>
> ### }

* 아래 예제코드로 학습해 보겠습니다.

{% code lineNumbers="true" %}

```java
class Control1_1 {
    public static void main(String[] args) {
        char ch = 'b';
        if (ch >= 'a' && ch <= 'z') {
            System.out.println("해당 문자는 영문 소문자입니다.");
        }
    }
}
```

{% endcode %}

## if - else

> ### if (조건식) {&#x20;
>
> ### &#x20;         조건식의 결과가 <mark style="color:blue;">참</mark>일 때 실행하고자 하는 문장;
>
> ### } else {&#x20;
>
> ### &#x20;         조건식의 결과가 <mark style="color:blue;">거짓</mark>일 때 실행하고자 하는 문장;
>
> ### }

* 아래 예제코드로 학습해 보겠습니다.

{% code lineNumbers="true" %}

```java
class Control1_2 {
    public static void main(String[] args) {
        char ch = 'Z';
        if (ch >= 'a' && ch <= 'z') {
            System.out.println("해당 문자는 영문 소문자입니다.");
        } else {
            System.out.println("해당 문자는 영문 소문자가 아닙니다.");
        }
    }
}
```

{% endcode %}

## if - else if - else

> ### if (조건식1) {&#x20;
>
> ### &#x20;         조건식1의 결과가 <mark style="color:blue;">참</mark>일 때 실행하고자 하는 문장;
>
> ### } else if (조건식2) {&#x20;
>
> ### &#x20;         조건식2의 결과가 <mark style="color:blue;">참</mark>일 때 실행하고자 하는 문장;
>
> ### } else {
>
> ### &#x20;         조건식1의 결과도 거짓이고, 조건식2의 결과도 거짓일 때 실행하고자 하는 문장;
>
> #### &#x20;            즉, 위의 <mark style="color:blue;">어느 조건식에도 만족하지 않을 때</mark> 수행&#x20;
>
> ### }

* <mark style="color:blue;">여러 개의 조건식</mark>을 포함한 조건식입니다.&#x20;

* else if 가 <mark style="color:blue;">여러번 사용</mark>될 수 있습니다.&#x20;

* 마지막 <mark style="color:blue;">else 블럭은 생략</mark>이 가능합니다.

* 아래 예제코드로 학습해 보겠습니다.

{% code lineNumbers="true" %}

```java
class Control1_3 {
    public static void main(String[] args) {
        char ch = 'p';

        if (ch >= 'a' && ch <= 'z') {
            System.out.println("해당 문자는 영문 소문자입니다.");
        } else if (ch >= 'A' && ch <= 'Z') {
            System.out.println("해당 문자는 영문 대문자입니다.");
        } else {
            System.out.println("해당 문자는 영문자가 아닙니다.");
        }

        int score = 70;

        if (score >= 90) {
            System.out.println("A등급입니다.");
        } else if(score >= 80) {
            System.out.println("B등급입니다.");
        } else if(score >= 70) {
            System.out.println("C등급입니다.");
        }
    }
}
```

{% endcode %}

## 중첩 if

> ### if (조건식1) {&#x20;
>
> ### &#x20;        <mark style="color:blue;">조건식1</mark>의 결과가 <mark style="color:blue;">참</mark>일 때 실행하고자 하는 문장;
>
> ### &#x20;         if (조건식2) {&#x20;
>
> ### &#x20;                  <mark style="color:blue;">조건식1</mark> 과 <mark style="color:blue;">조건식 2</mark>의 결과가 <mark style="color:blue;">모두</mark> <mark style="color:blue;">참</mark>일 때 실행하고자 하는 문장;
>
> ### &#x20;          } else {&#x20;
>
> ### &#x20;                   <mark style="color:blue;">조건식1</mark>의 결과가 <mark style="color:blue;">참</mark>이고, <mark style="color:blue;">조건식2</mark>의 결과가 <mark style="color:blue;">거짓</mark>일 때 실행하고자 하는 문장;
>
> ### &#x20;           }
>
> ### } else {&#x20;
>
> ### &#x20;         <mark style="color:blue;">조건식1</mark>의 결과가 <mark style="color:blue;">거짓</mark>일 때 실행하고자 하는 문장;
>
> ### }

* 아래 예제코드로 학습해 보겠습니다.

{% code lineNumbers="true" %}

```java
class Control1_4 {
    public static void main(String[] args) {
        int score = 87;

        if (score >= 90) {
            if(score >= 95){
                System.out.println("A++등급입니다.");
            }else {
                System.out.println("A등급입니다.");
            }
        } else if(score >= 80) {
            if(score >= 85){
                System.out.println("B++등급입니다.");
            }else {
                System.out.println("B등급입니다.");
            }
        } else if(score >= 70) {
            if(score >= 75){
                System.out.println("C++등급입니다.");
            }else {
                System.out.println("C등급입니다.");
            }
        }else {
            System.out.println("D등급입니다.");
        }
    }
}
```

{% endcode %}

## 블럭 { }

> ### <mark style="color:blue;">'여러 문장을 하나로 묶어주는 것'</mark> 입니다.&#x20;
>
> ### 만약 if 조건문에서 실행할 문장이 하나라면&#x20;
>
> ### if(조건식) 명령문; 이렇게 { } 가 생략될 수 있습니다.

## 조건식의 다양한 예

<figure><img src="/files/KGFMZ8uAv0j5JLMhIZtg" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Ref. Java의 정석 기초편 Chapter4(1,2,3,4,5,6,7,8)

Ref. [if와 else](https://www.youtube.com/watch?v=2s57bayDma8\&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp\&index=32), [else if 와 중첩 if](https://www.youtube.com/watch?v=SQ4FT04_pUE\&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp\&index=33)
{% endhint %}
