JS Star 블로그

기억보다는 기록을✏️ 머신러닝, 웹개발, 물리학을 공부했고 계속 배워가고 있습니다.
📌 기존에 포스팅하던 블로그에서 포스트를 옮기는 중입니다.

조건문

07 Dec 2020 » java

If~else문

If문과 else if문 조건은 true 인 경우에만 안에 있는 내용이 실행되고, false 인 경우에는 else문 안에 있는 내용이 실행된다. Else if문이 여러개인 경우 가장 먼저 나오는 true인 조건만 실행되고 전체 if문은 종료된다.

package java_basic;

public class Condition {

	public static void main(String[] args) {
		if(false) {
			System.out.println(1);
			System.out.println(2);
			System.out.println(3);
		}else if(false){
			System.out.println(4);
		}else {
      System.out.println(5);
    }
	}

}

// 5

Switch문

Switch문은 조건에 맞는 부분을 기준으로 실행할 내용을 정하는 문법이다. if~else문과 비슷하다고 생각하면 된다.

package java_basic;

public class Condition {

	public static void main(String[] args) {
		switch(2) {
		case 1:
			System.out.println("This is A");
		case 2:
			System.out.println("This is B");
		case 3:
			System.out.println("This is C");
		}
	}

}

case 앞에 오는 내용이 switch에 들어가는 내용과 같을 때 해당 내용을 실행한다. 위의 경우에는 case 'B'This is B 를 출력하게 된다. 그리고 그 이후의 내용인 case 'C' 도 실행하게 된다. 오직 case 'B' 만 실행하고 싶다면 아래의 내용처럼 break; 를 각 case에 넣어주면 된다. 또한 일치하는 조건이 없는 것을 처리하기 위해 default 를 사용하면 된다.

package java_basic;

public class Condition {

	public static void main(String[] args) {
		switch(2) {
		case 1:
			System.out.println("This is A");
			break;
		case 2:
			System.out.println("This is B");
			break;
		case 3:
			System.out.println("This is C");
			break;
    default:
			System.out.println("Default");
		}
	}

}

code 최적화를 위해 if~else문보다 switch문을 더 많이 사용한다. 만약 if~else문이 3개 이상이 된다면 시간복잡도 면에서 switch문이 더 유리하다. if~else문은 원하는 조건이 나올 때까지 차례대로 찾아가는 O(N)의 복잡도를 가지고 있다. 반면에 switch문은 jump table을 만들어서 해당 조건을 찾아가는 방식이므로 시간복잡도 면에서는 이득, 공간복잡도 면에서는 손해이다.

Related Posts