# else-if 문, 여럿 중 하나!
#### CODE <a class='btn btn-default' href='/codes/41155'>Link</a>
```
public class BusCard {
public static void main(String[] args) {
printRole(22); // 22살 => 성인
printRole(16); // 16살 => 청소년
printRole(10); // 10살 => 어린이
printRole(4); // 4살 => 유아
}
public static void printRole(int age) {
// 변수 생성
String role;
// 조건별 결과 선택
if (age >= 18) {
role = "성인";
} else if (age >= 13 && age < 18) {
role = "청소년";
} else if (age >= 6 && age < 13){
role = "어린이";
} else {
role = "유아";
}
// 결과 출력
System.out.printf("%d살 => %s입니다.\n", age, role);
}
}
```
#### INPUT
```
```
#### OUPUT
```
22살 => 성인입니다.
16살 => 청소년입니다.
10살 => 어린이입니다.
4살 => 유아입니다.
```
---------------------------------------------
printrole 메서드에서 변수를 선언할 때
String role; 또는 String role = "" ;로 선언할 때 차이점이 있나요??
혹은 결과는 같아도 코드 퀄리티부분에서 유의미한 차이가 있을 까요?
goodlife1359님의 답변
## 변수 선언과 초기화
String role;
위 코드는 String 타입의 role 이라는 이름의 변수를 선언만 해놓은 상태입니다.
즉 , 값이 저장되지 않은 상태 입니다.
String role = “” ;
위 코드는 String 타입의 role 이라는 이름의 변수를 선언한 후 공백 문자로 값을 초기화 해 놓은 상태 입니다.
이 문제는 printRole 메서드에서 role 변수를 생성만 해놓고
메서드의 파라미터 값에 따라 조건문을 통과 한후 role 변수에 값이 저장되는 방식으로 동작 하는 원리 입니다.