본문으로 바로가기

자바 조건문

 

if 문

자바에서 특정 조건에 해당하는 코드를 수행하게 if문을 사용한다.

예를 들어 코딩을 하다가 "A변수가 7보다 크면 A값을 0으로 대입해라" 라는 코드는 다음과 같이 작성한다.

 

1
2
3
4
5
if( A > 7 ){
 
    A = 0;
 
}
 

 

만약 A변수 값이 8이라면 if에서 사용되는 "A > 7" 이라는 조건식에 부합하기 때문에 "A = 0" 코드를 실행한다.

하지만 A변수 값이 5라면 부합하지 않기 때문에 if안의 A=0코드를 수행하지 않는다.

 

 

if ~ else문

if문은 else 같이 작성할 있다. 작성방법은 다음과 같다.

  if( 조건식 ) {

    코드

  }else {

    코드

  }

 

if에서 사용하는 조건식에 부합하면(true) if 하위의 코드가 실행되고 조건식에 부합하지 않으면 else 하위의 코드가 실행된다.

 

다음 예제 코드를 보면 이해하기 쉽다.

 

예제)

1
2
3
4
5
6
7
8
9
10
11
12
13
int A = 6;
 
if( A > 7 ) {
 
    A = 0;
 
}else {
 
    A = 1;
 
}
 
System.out.println(A);
 

 

결과)

1
1
 

 

코드에서 A값을 6으로 초기화 했으므로 if조건식인 "A > 7" 성립되지 않는다. 그러므로 else 하위의 코드가 실행되므로 "A = 1" 코드가 수행되고 최종적으로 1값이 출력된다.

 

 

if ~ else if ~ else문

다수의 조건식을 필요로 할때에는 if - else if - else문을 이용하여 처리 있다.  작성방법은 다음과 같다.

 

  if( 조건식 ) {

      코드

  }else if(조건식){

      코드

  }else if(조건식){

      코드

  }else {

      코드

  }

 

 

모든 조건식에 부합하는지 체크하며 어떤 조건식에도 부합하지 않는다면 else하위 코드가 실행된다.

 

다음 예제 코드를 통해 확인해보자

 

예제)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int A = 6;
 
if( A > 7 ) {
 
    A = 0;
 
}else if( A > 6){
 
    A = 1;
 
}else if( A > 5) {
 
    A = 2;
 
}else {
 
    A = 3;
 
}
 
System.out.println(A);
 

결과)

1
2
 

 

변수 A 6값으로 초기화 하였고 조건식 중에서 " A > 5 " 연산에 부합하기 때문에 " A = 2 " 코드가 수행되므로

2값이 출력된다.

 

 

중첩 if문

 

if문 하위에 if문을 사용 할 수 있다. 이를 중첩 if문 이라고 한다. 사용법은 다음과 같다.

 

if( 조건식 ){

  if( 조건식 ){

    코드

  }

}

 

다음 예제코드를 통해 확인해 보자.

 

예제)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int yourMoney = 10000;
 
String dessert= "";
 
if( yourMoney  > 5000 ) {
 
    if( yourMoney > 7000 ){
 
        dessert = "cake and coffee";
 
    }else{
 
        dessert = "coffee";
 
    }
 
}
 
System.out.println(dessert);
 

 

결과)

1
cake and coffee
 

 

 

 

if문과 연산자

 

if문에서 사용하는 조건식은 대부분 비교연산자(관계연산자) &&(and), ||(or), !(not)연산자들과 함께 사용되는 경우가 많다.

 

비교연산자는 https://codehouse.tistory.com/6 에서 확인할 있다.

 

&&, ||, !  연산자의 의미는 다음과 같다.

 

 

 

 

&& (AND)

A && B

  A B 모두 (true)여야 참이다.

|| (or)

A || B

  A B 하나만 (true)여도 참이다.

! (not)

!A

  A 거짓(false)이면 참이다.

 

다음 예제 코드와 주석을 보면 이해하기 쉽다.

 

예제)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int A = 7;
 
int B = 8;
 
if( A > 8 && B > 7) {                // A > 8 이 거짓(false)이므로  && 연산결과 거짓이기 때문에 코드가 수행되지 않는다.    
    System.out.println("해당 조건식은 모두 참입니다.");
}
 
if( A > 8 || B > 7) {                // B > 7이 참이기 때문에 || 연산결과가 참이므로 코드가 수행된다.
    System.out.println("조건식 두개중 하나만 참이어도 수행됩니다.");
}
 
if!(A > 8)) {                // A > 8이 거짓이므로 !연산을 수행하면 참이된다. 그러므로 코드가 수행된다.
    System.out.println("해당 조건식이 false일때 !연산을 수행하면 참이된다.");
}
 
 
 
 

 

결과)

1
2
3
조건식 두개중 하나만 참이어도 수행됩니다.
해당 조건식이 false일때 !연산을 수행하면 참이된다.