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문을 사용하는게 좋다.