프로그램을 작성할 때는 특정 조건이 맞을 때만 동작을 실행하고 싶을 때가 있다. 예를 들어, 자판기에 들어가는 프로그램을 짠다고 하면, 버튼이 눌릴 때만 음료수가 나오게 하고 싶다. 이럴 경우, 사용할 수 있는 게 바로 if문이다.
1. if-문 소개
2. if, else, else if 문
3. if-문 예제
4. 예제 정답
1. if-문 소개
if-문은 boolean 타입의 표현이 사실일 때만 코드를 실행한다. 앞에서도 소개했듯, boolean 타입은 true와 false 두 가지 중 하나를 가지는 데이터 타입이다. 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("두 숫자는 같다!");
'👨💻 프로그래밍 > Java, Kotlin, Spring' 카테고리의 다른 글
자바 10 - Math 클래스에 있는 매소드 활용 (0) | 2021.04.20 |
---|---|
자바 9 - switch문 (2) | 2021.04.18 |
자바 7 - 연산자끼리의 우선순위 (0) | 2021.04.14 |
자바 6 - 자바 연산자(Operator) (0) | 2021.04.12 |
자바 5 - 자바 상수 (0) | 2021.04.10 |