본문 바로가기
👨‍💻 프로그래밍/Java, Kotlin, Spring

자바 8 - if문

by 개발자 진개미 2021. 4. 16.
반응형

프로그램을 작성할 때는 특정 조건이 맞을 때만 동작을 실행하고 싶을 때가 있다. 예를 들어, 자판기에 들어가는 프로그램을 짠다고 하면, 버튼이 눌릴 때만 음료수가 나오게 하고 싶다. 이럴 경우, 사용할 수 있는 게 바로 if문이다. 

 

1. if-문 소개

2. if, else, else if 문

3. if-문 예제

4. 예제 정답

 


1. if-문 소개

if-문은 boolean 타입의 표현이 사실일 때만 코드를 실행한다. 앞에서도 소개했듯, boolean 타입은 truefalse 두 가지 중 하나를 가지는 데이터 타입이다. if-문은 특정 조건이 사실일땐 코드를 실행하고, 아닐 땐 실행하지 않음으로 boolean 타입이 이런 역할을 하기에 가장 적절하다.

int a = 5;
int b = 5;

if(a == b) {
	System.out.println("두 숫자는 같다!");
}

 

위의 예제에서는 2개의 변수를 선언하고, 비교 연산자가 이걸 비교해서 두 숫자가 같으면 true, 아니면 false가 된다. 위의 경우 두 숫자는 같기 때문에 괄호 안의 코드가 실행된다. 위의 코드는 결과적으로 "두 숫자는 같다!"가 출력된다.


2. if, else, else if 문

if-문에서 또 중요한 것은, 특정 조건이 맞을 경우 코드를 실행하고, 아닐 경우 실행하지 않는것은 좋은데, 이 틀린 경우에 아무것도 하지 않는게 아니라 다른 동작을 하도록 원하는 경우가 있다. 자판기를 예로 들면, 콜라 버튼을 누를 땐 콜라가 나오는데(true), 콜라 버튼을 누르지 않은 경우(false)라도 다른 음료수가 나오길 원하는 경우가 있다. 그럴 때는 else, else if 문을 사용한다. 

boolean colaButton = true;
boolean fantaButton = false;

if(colaButton) {
	System.out.println("콜라가 나왔습니다!");
} else if(fantaButton) {
	System.out.println("환타가 나왔습니다!");
} else {
	System.out.println("버튼이 눌려지지 않았습니다!");
}

 

 

위의 예시에서는 콜라버튼과 환타 버튼이라는 booolean타입의 변수를 만들고, 이 변수가 사실일 경우 각각 콜라, 환타가 나왔다는 것을 유저에게 알려주고(if, else if), 조건이 모두 아닌 경우(else) 버튼이 눌려지지 않았다고 알려줬다.

 

여기서 else는 그 밖에 라는 뜻이다. 즉, 콜라 버튼이 눌려지는 경우에는 괄호 안에 있는 코드를 하고(if), 그 밖에 다른 경우에 이런 조건이 맞으면 또 괄호 안에 있는 코드를 실행하고(else if), 마지막으로 모두 아닌 그 밖에 경우에는 이 코드를 실행하라는 뜻이다(

else

).

 

한 가지 특이한 것은, if문이 걸렸을때 실행할 코드가 한 줄이라면, 괄호를 생략할 수 있다는 것이다. 예를들어, 위의 프로그램은 아래의 프로그램과 동일하다.

boolean colaButton = true;
boolean fantaButton = false;

if(colaButton) 
	System.out.println("콜라가 나왔습니다!");
else if(fantaButton)
	System.out.println("환타가 나왔습니다!");
else
	System.out.println("버튼이 눌려지지 않았습니다!");

3. if-문 예제

프로그래밍 뿐만 아니라, 어떤 것을 공부할 때도 마찬가지지만, 특히 프로그래밍에서는 개념을 배운 뒤 실제로 해 보는 것이 중요하다. 간단한 예제 2가지를 직접 풀어보고, 정답이 맞는지 확인해 보자. 

 

1. 위에서 본 자판기 프로그램에 콜라, 사이다, 환타, 오렌지 주스, 포도 주스의 5개 음료수가 있는 프로그램

 

2. int 타입의 숫자 2개를 만들어 아무 값이나 넣고, 두 숫자 중 큰 숫자를 프린트하는 프로그램


4. 예제 정답

예제의 정답은 아래와 같다. 이 정답은 모든 사람마다 다를 수 있으며, 반드시 모든 코드가 똑같아야만 정답은 아니다. 요구한 대로 프로그램이 동작하기만 한다면 정답이라 할 수 있다.

 

1. 위에서 본 자판기 프로그램에 콜라, 사이다, 환타, 오랜지 주스, 포도 주스의 6개 음료수가 있는 프로그램

boolean colaButton;
boolean ciderButton;
boolean fantaButton;
boolean orangejuiceButton;
boolean grapejuiceButton;

if(colaButton)
	System.out.println("콜라가 나왔습니다!");
else if(ciderButton)
	System.out.println("사이다가 나왔습니다!");
else if(fantaButton)
	System.out.println("판타가 나왔습니다!");
else if(orangejuiceButton)
	System.out.println("오렌지 주스가 나왔습니다!");
else if(grapejuiceButton)
	System.out.println("포도 주스가 나왔습니다!");
else
	System.out.println("버튼이 눌려지지 않았습니다.");

 

2. int 타입의 숫자 2개를 만들어 아무 값이나 넣고, 두 숫자 중 큰 숫자를 프린트하는 프로그램

int var1 = 5;
int var2 = 6;

if(var1 > var2)
	System.out.println(var1);
else if(var1 < var2)
	System.out.println(var2);
else
	System.out.println("두 숫자는 같다!");
    

반응형