# 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 = "" ;로 선언할 때 차이점이 있나요?? 혹은 결과는 같아도 코드 퀄리티부분에서 유의미한 차이가 있을 까요?
## 변수 선언과 초기화 String role; 위 코드는 String 타입의 role 이라는 이름의 변수를 선언만 해놓은 상태입니다. 즉 , 값이 저장되지 않은 상태 입니다. String role = “” ; 위 코드는 String 타입의 role 이라는 이름의 변수를 선언한 후 공백 문자로 값을 초기화 해 놓은 상태 입니다. 이 문제는 printRole 메서드에서 role 변수를 생성만 해놓고 메서드의 파라미터 값에 따라 조건문을 통과 한후 role 변수에 값이 저장되는 방식으로 동작 하는 원리 입니다.