반응형

Java 언어의 조건문에 대해 알아보려고 합니다.

조건문에는 if문과 switch문이 있는데요, if문부터 예제와 함께 살펴보겠습니다.

 


 

1. int 타입

int number = 50;

if( number == 50 ) {

	System.out.println("number는 50입니다.");
    
} else {

	System.out.println("number는 50이 아닙니다.");
    
}

if( number != 40 ) {

	System.out.println("number는 40이 아닙니다.");
    
}

if( number > 50 ) {

	System.out.println("number는 50보다 큽니다.");
    
} else if( number > 40 ) {

	System.out.println("number는 40보다 큽니다.");
    
}

if( number <= 50 ) {

	System.out.println("number는 50과 같거나 작습니다.");
    
}

 

- int 타입의 number에 50을 넣고, 조건문을 여러개 달아봤습니다.

- Java에서 "=" 하나는 수학에서의 "="과 달리 오른쪽의 값을 왼쪽에 넣는 대입연산자입니다.

- 따라서 조건문에서 같은지 알아보기 위해서는 "=="를 사용해야 합니다.

 

- if문의 조건과 일치하지 않으면 else문의 내용이 실행됩니다.

- else if문은 if문의 조건이 아닐 때 실행되는 조건문입니다.

 

- 출력 결과

number는 50입니다.

number는 40이 아닙니다.

number는 40보다 큽니다.

number는 50과 같거나 작습니다.

 

 

2. char 타입

char c = 'A';

if( c == 'A' ) {

	System.out.println("c의 값은 'A' 입니다.");

}

if( c > 'A' && c < 'F' ) {

	System.out.println("c는 'A'에서 'F' 사이에 있습니다. ('A', 'F' 미포함)");
    
}

if( c != 'A' ) {

	System.out.println("c의 값은 'A'가 아닙니다.");
    
}

 

- char 타입을 비교하려면 int와 달리 비교 대상에 ' '로 묶어주어야 합니다.

- 아스키코드를 이용하여 알파벳 범위를 조건으로 넣을 수 있습니다.

- 아스키코드 숫자를 이용할 수도 있지만, 위의 예제처럼 'A' ~ 'F' 로 비교할 수도 있습니다.

 

- 출력 결과

c의 값은 'A' 입니다.

 

 

3. String 객체

String str = "사과";

if( str.equals("사과") ) {

	System.out.println("str는 사과입니다.");
    
} else {

	System.out.println("str는 사과가 아닙니다.");
    
}

if( str.equals("바나나") ) {

	System.out.println("str는 바나나입니다.");
    
} else if( str.equals("포도") ) {

	System.out.println("str는 포도입니다.");
    
} else if( str.equals("복숭아") ) {

	System.out.println("str는 복숭아입니다.");
      
} else {

	System.out.println("str는 바나나, 포도 혹은 복숭아가 아닙니다.");
    
}

if( !str.equals("바나나") ) {

	System.out.println("str는 바나나가 아닙니다.");
    
}

 

- String 을 비교하는 경우에는 위의 경우들과 조금 다릅니다.

- equals라는 함수를 사용해야 합니다.

- 조건문 앞에 !(느낌표)를 붙이면 반대의 의미가 됩니다.

 

- if문의 조건에 맞지 않으면 else if문의 조건을 검사하고, else if문의 조건이 맞지 않으면 else 문이 실행됩니다.

 

- 출력 결과

str는 사과입니다.

str는 바나나, 포도 혹은 복숭아가 아닙니다.

str는 바나나가 아닙니다.

 

 

4. boolean 타입

boolean b = true;

if( b == true ) {

	System.out.println("b는 true입니다.");
    
}

if( b ) {

	System.out.println("b는 true입니다. - 2");
    
}

if( !b ) {

	System.out.println("b는 false입니다.");
    
}

 

- boolean 타입인 경우 true와 false만 반환하기 때문에 "=="을 적지 않아도 같은 역할을 합니다.

- 앞에 !(느낌표)를 붙이면 반대 의미가 됩니다.

 

 

5. 중첩 if문

 

- and 연산자(&&) 사용

int num = 6;
String str = "과자";

if( num == 6 && str.equals("과자") ) {

	System.out.println("num은 6이고, str는 과자입니다.");
    
}

 

- 중첩 if문 사용

int num = 6;
String str = "과자";

if( num == 6 ) {

	if( str.equals("과자") ) {

		System.out.println("num은 6이고, str는 과자입니다.");
        
        }
    
}

 

- 위의 두 코드의 결과는 같습니다.

- 그런데 왜 코드가 다를까요? 다른 예제를 살펴보겠습니다.

 

- 예제

int num = 6;
String str = "과자";

if( num == 6 ) {

    System.out.println("num은 6입니다.");
    
    if( str.equals("과자") ) {
    
    	System.out.println("str는 과자입니다.");
        
    }
    
}

 

- 위처럼 출력문을 나눠서 입력할 수 있다는 점에서 차이가 생깁니다.

 

- 출력 결과

num은 6입니다.

str는 과자입니다.

 

 

 

이상으로 Java 조건문 중 if문에 대해 알아보았습니다.

 


 

반응형