> For the complete documentation index, see [llms.txt](https://docs.sysout.co.kr/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sysout.co.kr/base-language/java/beginner/control-statement/if-statement/choice-condition.md).

# 두 가지의 조건

## 두 가지 경우

이 문서에서는 `if~else` 구문에 대해서 살펴본다.

### 형태

`if~else` 구문은 다음과 같은 형태를 가진다.

```java
if(조건식){
    실행 코드 1
}
else{
    실행 코드 2
}
```

### 사례

피자를 주문할 수 있는지 판정하는 프로그램을 만든다고 가정해보자.\
피자의 가격이 2만원이라고 하면 프로그램은 다음 두 가지 경우로 나누어 처리할 수 있다.

* 피자 주문 가능
* 피자 주문 불가

피자값보다 많은 돈을 가지고 있다면 주문이 가능하다고 볼 수 있고, 피자값보다 적은 돈을 가지고 있다면 주문이 불가능하다고 볼 수 있다. 이러한 상황을 프로그래밍으로 구현하려면 `if` 두 개 또는 `if~else` 가 필요하다.

### 분석

`if`를 두 번 사용하여 구성할 경우 다음과 같아진다.

<div align="left"><img src="https://4208234536-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_TNZwLuHV9ipYLbvRq%2F-MeNYB4YqK9KID79_hsd%2F-MeNYUs5jdHesTmroXmi%2Fimage.png?alt=media&amp;token=e5133411-9e1e-4329-b6b4-493a21432562" alt=""></div>

피자는 주문 가능하거나 불가능하거나 두 가지 중 하나이므 `if`를 두 번 쓴다는 것은 매우 비효율적이다. 따라서 두 번의 조건을 합쳐 다음과 같이 구현해볼 수 있다.

<div align="left"><img src="https://4208234536-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M_TNZwLuHV9ipYLbvRq%2F-MeNYB4YqK9KID79_hsd%2F-MeNYboXdKoNao1ur58B%2Fimage.png?alt=media&amp;token=bd317204-f896-4427-b5ba-45ce57a189a4" alt=""></div>

### 코드

`if`를 두 번 사용할 때의 코드는 다음과 같다.

```java
import java.lang.*;

public class IfExample3 {
    public static void main(String[] args){
        int money = 25000;
        int pizza = 20000;
        
        //조건 1
        if(money >= pizza) {
            System.out.println("피자 주문 가능!");
        }
        
        //조건 2
        if(money < pizza){
            System.out.println("피자 주문 불가!");
        }
    }
}
```

두 가지 경우밖에 없음에도 질문을 두 번 해야한다는 문제가 발생한다.

`if~else`를 사용할 경우 조건은 하나로 줄어든다.

```java
import java.lang.*;

public class IfExample3 {
    public static void main(String[] args){
        int money = 25000;
        int pizza = 20000;
        
        //조건
        if(money >= pizza) {
            System.out.println("피자 주문 가능!");
        }
        else {
            System.out.println("피자 주문 불가!");
        }
    }
}
```

주의할 점은 else 에는 조건을 사용하면 안된다는 것이다.
