문법(Statements) - 조건문
if, else, else-if
조건(condition)을 테스트 해서 참이면 if
문을 거짓이면 else
문을 수행한다.
/* if 문 단독 사용의 예 */
if ( 조건 ) {
//조건이 참일 때 실행되는 영역
}
/* if 문과 else 사용의 예 */
if ( 조건 ) {
//조건이 참일 때 실행되는 영역
} else {
//조건이 거짓일 때 실행되는 영역
}
"돈이 있으면 택시를 타고 돈이 없으면 걸어간다."
boolean enoughMoney = true;
if (enoughMoney) {
System.out.println("택시를 타고 가라");
else () {
System.out.println("걸어 가라");
}
다중 조건을 판단해야 할때는 else if
를 사용할 수 있다.else if
는 갯수에 상관없이 사용할 수 있으나 조건문 1, 2, 3 을 명확하게 설정하지 않으면 예상치 못한 결과가 나올 수 있다.
/* if 문 다중 사용의 예 */
if ( 조건1 ) {
//조건1이 참일 때 실행되는 영역
} else if ( 조건2 ) {
//조건2가 참일 때 실행되는 영역
} else if ( 조건3 ) {
//조건3이 참일 때 실행되는 영역
} else {
//조건1, 조건2가 모두 거짓일 때 실행되는 영역
}
대부분의 조건문에는 비교연산자(<, >, <=, >=, ==, !=) 를 사용한다.
두 세개의 조건을 복합적으로 판단할 필요가 있을때는 && 나 || 연산자를 사용할 수도 있다.
"5000천원이 있거나 카드가 있으면 택시를 타고, 700원이 있으면 버스를 탄다. 아니면 걸어간다." 를 프로그램으로 표현해보자
long money = 500;
boolean hasCard = false;
if (money >= 5000 || hasCard) {
System.out.println("택시를 탄다");
} else if (money >= 700) {
System.out.println("버스를 탄다");
} else {
System.out.println("걸어 간다");
}
switch/case
switch/case
문 역시 if
문과 함께 조건문에 해당하지만 좀 더 정형화된 모슴을 가진다.case
문 마다 break
를 두어 switch
문을 빠져나가지 않으면 이후 내용이 함께 실행되므로 주의 해야 한다.
int month = 6;
String monthStr = "";
switch(month) {
case 1:
//month 가 1일때 실행되는 영역
monthStr = "January";
break;
case 2:
//month 가 2일때 실행되는 영역
monthStr = "February";
break;
case 3:
monthStr = "March";
break;
case 4:
monthStr = "April";
break;
case 5:
monthStr = "May";
break;
case 6:
monthStr = "June";
break;
case 7:
monthStr = "July";
break;
case 8:
monthStr = "August";
break;
case 9:
monthStr = "September";
break;
case 10:
monthStr = "October";
break;
case 11:
monthStr = "November";
break;
case 12:
monthStr = "December";
break;
default:
monthStr = "올바르지 않다";
break;
}
System.out.println(month); // 6
System.out.println(monthStr); // June