java
[java/기본]5. 조건문(if, switch)
tea-tea
2024. 4. 16. 06:31
if 조건문
public class Main {
public static void main(String[] args) {
int number = 10;
if (number > 0) {
System.out.println("숫자는 양수입니다.");
} else if (number < 0) {
System.out.println("숫자는 음수입니다.");
} else {
System.out.println("숫자는 0입니다.");
}
}
}
- 위에서 아래로 읽으며 조건문 중 맞는 것을 찾으면 나머지는 찾지 않음
- else if는 추가로 달 수 있음
early return
검증해야 하는 조건이 여러개인데, 조건문에서 &&나 ||로 동시 검사를 할수 없다면 중첩 if문을 사용해야 하는 경우가 있다.
그런데 이는 가독성이 나쁘니 early return방식을 권장한다.
// 나쁜 예시
// if문의 과도한 중첩으로 알아보기 어려움
public static boolean validateAccount(String id, String password) {
boolean validate=false;
if(id !=null) {
if(id.length() >10 ) {
if(password !=null) {
if(password.length()>10) {
validate = true;
}
}
}
}
return validate;
}
//좋은 예시 early return
public static boolean validateAccount(String id, String password) {
if (id == null || id.length() <= 10) {
return false;
}
if (password == null || password.length() <= 10) {
return false;
}
return true;
}
switch조건문
public class Main {
public static void main(String[] args) {
int day = 3;
String dayString;
switch (day) {
case 1:
dayString = "월요일";
break;
case 2:
dayString = "화요일";
break;
case 3:
dayString = "수요일";
break;
case 4:
dayString = "목요일";
break;
case 5:
dayString = "금요일";
break;
case 6:
dayString = "토요일";
break;
case 7:
dayString = "일요일";
break;
default:
dayString = "잘못된 요일";
break;
}
System.out.println("오늘은 " + dayString + "입니다.");
}
}
- 검증해야 하는 대상과 일치하는 것을 찾으면 문장이 실행된다
if vs switch
검증해야 하는 조건이 match형식이라면 직관성이 좋은 switch문이 좋다.
반면, 검증 조건이 복잡하다면 if문을 사용하는게 좋다.