Language/Java

[ Java ] 조건문

곽수진 2021. 9. 3. 16:47
반응형

조건문(if) 사용 예제 파일

 

package sujin.condition;

public class ConditionDemo {

	public static void main(String[] args) {
		if (true) {
			System.out.println("result : true");
		}
	}
}

 

결과값 출력 모습

▶️ if문 괄호 안에 true 대신 false를 입력하면 결과가 출력되지 않음

 

 

package sujin.condition;

public class Condition2Demo {

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

 

결과값 출력 모습

▶️ if문에 속해있는 부분은 출력되지 않고 밖에 속한 System.out.println(5)만 출력

 

 

조건문(if / else) 사용 예제 파일

 

package sujin.condition;

public class Condition3Demo {

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

 

결과값 출력 모습

▶️ else에 속해있는 부분은 출력되지 않고 if(true)에 속한 System.out.println(1)만 출력됨

 

 

조건문(if / else if / else) 사용 예제 파일

→ else if는 여러개 사용 가능함

→ 필요에 따라 else는 생략 가능함

 

package sujin.condition;

public class ElseDemo {

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

 

결과값 출력 모습

▶️ 처음으로 true가 등장한 구문이 출력되기 때문에 System.out.println(2)가 출력

 

 

조건문의 응용

변수, 비교 연산자, 조건문을 통해 입력한 아이디 값이 맞는지 체크하는 프로그램 제작

 

package sujin.condition;

public class LoginDemo {

	public static void main(String[] args) {
		String id = args[0];
		if(id.equals("sujin")) {
			System.out.println("right");
		} else {
			System.out.println("wrong");
		}
	}
}

▶️ LoginDemo에 sujin을 입력하면 right, 다른 값을 입력하면 wrong을 출력하는 프로그램

 

 

String id = args[0];

▶️ args[0] : 사용자가 입력한 값이 LoginDemo에 전달할 수 있도록 하는 입력 값

 

 

console 창에서 결과 값 확인하는 방법

  1. run 버튼 오른쪽 아래를 향한 삼각형 선택 → Run Configurations... 선택

 

 

 

2. New Launch Configuration 버튼 선택

 

 

3. Name 수정(아이디로 입력할 값 지정)

→ 이미 앞에 아이디로 쓸(true 결과 값을 출력할) sujin은 저장했기 때문에 false 결과 값을 출력할 jinny를 새로 형성했음

 

 

4. Arguments는 입력값이므로 Program arguments에 입력값을 넣어주고 Run 버튼 선택

 

 

조건문의 중첩

▶️ 순서대로 아이디와 비밀번호를 입력했을 때 맞으면 true 틀리면 false를 출력하는 프로그램

→ if문 안에 if문이 중첩하여 들어갈 수 있다는 점 중요

 

 

package sujin.condition;

public class LoginDemo2 {

	public static void main(String[] args) {
		String id = args[0];
		String password = args[1];
		if (id.equals("Gwak")) {
			if (password.equals("sujin")) {
				System.out.println("right");
			} else {
				System.out.println("wrong");
			}
		} else {
			System.out.println("wrong");
		}
	}
}

 

 

switch문

switch 뒤의 괄호에 숫자와 case의 숫자가 일치하는 로직 이후의 모든 case들이 실행됨

 

package sujin.condition;

public class SwitchDemo {

	public static void main(String[] args) {
		
		System.out.println("switch(1)");
		switch(1) {
		case 1:
			System.out.println("one");
			break;
		case 2:
			System.out.println("two");
			break;
		case 3:
			System.out.println("three");
		}
		
		System.out.println("switch(2)");
		switch(2) {
		case 1:
			System.out.println("one");
			break;
		case 2:
			System.out.println("two");
			break;
		case 3:
			System.out.println("three");
		}
		
		System.out.println("switch(3)");
		switch(3) {
		case 1:
			System.out.println("one");
			break;
		case 2:
			System.out.println("two");
			break;
		case 3:
			System.out.println("three");
		}
	}

 

결과값 출력 모습

switch(1)의 경우는 case 1, 2, 3이 모두 실행되고 switch(2)의 경우는 case 2, 3, switch(3)의 경우는 case 3이 실행됨

 

 

switch와 case의 숫자가 겹치는 로직만 출력하고 싶다면?

break를 활용!

 

package sujin.condition;

public class SwitchDemo {

	public static void main(String[] args) {
		
		switch(4) {
		case 1:
			System.out.println("one");
			break;
		case 2:
			System.out.println("two");
			break;
		case 3:
			System.out.println("three");
			break;
		}
	}
}

결과값 출력 모습

▶️ break를 사용하면 switch와 case의 숫자가 겹치는 로직만 출력하고 switch를 빠져나감

 

 

switch문은 if문으로 대체 가능함

 

package sujin.condition;

public class SwitchDemo {

	public static void main(String[] args) {
		
		int val = 1;
		if(val == 1) {
			System.out.println("one");
		} else if(val==2) {
			System.out.println("two");
		} else if(val==3) {
			System.out.println("three");
		}
	}
}

결과값 출력 모습

 

 

default

switch 뒤 숫자와 case에 겹치는 수가 없을 경우 default 값을 출력함

 

package sujin.condition;

public class SwitchDemo {

	public static void main(String[] args) {
		
		int val = 1;
		if(val == 1) {
			System.out.println("one");
		} else if(val==2) {
			System.out.println("two");
		} else if(val==3) {
			System.out.println("three");
		}
	}
}
반응형

'Language > Java' 카테고리의 다른 글

[ Java ] 반복문  (0) 2021.09.03
[ Java ] 논리 연산자  (0) 2021.09.03
[ Java ] 연산자  (0) 2021.09.03
[ Java ] 데이터 타입  (0) 2021.09.03
[ Java ] 변수  (0) 2021.09.03