본문 바로가기
language/Java

삼항 연산자, 조건문(if,switch)

by abstract.jiin 2022. 5. 23.

삼항 연산자 
조건식 ? 참일 때 값 : 거짓일 때 값
10 > 5 ? "yes" : "no"
3 > 5 ? "yes" : "no"
num > 10 ? num - 10 : num + 10;

자바에서는 자바스크립트보다 한정된 식만 사용 가능 

조건식이 참이면 : 콜론 앞의 값을 거짓이면 콜론 뒤의 값을 사용한다. 
조건식 : 참 혹은 거짓을 판별하는 식 _ 조건식 if/else 와 같다. 

 

 

public static void main(String[] args) {
		System.out.println(true ? 10 :20);
		System.out.println(false ? 10 :20);
		
		Scanner sc = new Scanner(System.in);
		
		System.out.print("나이를 입력하세요 : ");
		int age = sc.nextInt();
		
		// age > 19 ? "성인" : "미성년자";
		System.out.println(age > 19 ? "성인" : "미성년자");
		// 60세 이상이면 노인을 출력 
		System.out.println(age > 19 ? age > 60 ? "노인" : "성인" : "미성년자");
	}

 


조건문 if
조건에 따라서 다른 코드를 실행할 때 사용한다. 
분기 처리를 할 때 사용한다. 

(삼항연산자) 10> 5 ? a : b; 처럼
if(조건식) { 
// 만약에 조건식이 참이면 여기를 수행
// 조건식이 true참일 때 수행

} else {
// 그렇지 않으면 여기를 수행
// 조건식이 false일 때 수행
}

 

 

조건문 else if

조건식이 여러개일 경우 사용할 수 있다.


if(조건식 1) { 조건식 1이 참이면... }
else if(조건식 2) { 조건식 2가 참이면... }
else if(조건식 3) { 조건식 3가 참이면... }
else if(조건식 4) { 조건식 4가 참이면... }
else if(...) {....}
else { 그렇지 않으면... }

 

삼항 연산자 vs 조건문 if
삼항연산자 
if else 문을 한줄로 간결하게 표현할 경우 많이 사용
예를 들어 간단한 비교 1> 10 ? true : false와 같은 경우

조건문 if
여러개를 비교할 경우 사용하며, 삼항 연산자보다 가독성이 높다. 
꼭, 삼항연산자를 사용할 경우를 제외하고는 대부분 if문을 사용한다. 

System.out.println("조건문이 시작하기 전...");
		
int num = 1;
if(num < 10) {
	System.out.println("if문 안의 출력문1");
	System.out.println("if문 안의 출력문2");
} 
		
else {
	System.out.println("else문 안의 출력문 1");
	System.out.println("else문 안의 출력문 2");
}
	
		System.out.println("조건문이 종료하고 나서...");
//정수 한개를 입력받아 이 정수가 짝수라면 짝수출력 그렇지 않으면 홀수 출력
Scanner sc = new Scanner(System.in);
System.out.println("정수 한개를 입력하세요 :");	
	
int number = sc.nextInt();
		 
if(number % 2 == 0) {
	System.out.println("짝수");
} else { 
	System.out.println("홀수");
}
System.out.print("나이를 입력하세요 : ");
Scanner sc = new Scanner(System.in);
		 
int age = sc.nextInt();
         
if(age > 60) {
	System.out.println("노인");
} else if(age > 19) {
	System.out.println("성인");
} else {
	System.out.println("미성년자");
}
 if(age > 0 && age < 19) {
	System.out.println("미성년자");
} else if(age >= 19 && age <= 60) {
	System.out.println("성인");
} else {
	System.out.println("미성년자");
 
}
if(age > 0 && age < 19) {
	System.out.println("미성년자");
} 
		 
if(age >= 19 && age <= 60) {
	System.out.println("성인");
} 
		 
if(age > 60) {
	System.out.println("노인");

		 }



조건문 switch
if 문과 같이 흐름의 분기처리를 위해 사용한다.
단, if문은 조건식을 비교하지만, switch는 변수의 값으로 판다. 

switch(변수) {
     case 값1:
     //변수가 값1하고 같으면...
         break;
     case 값2:
     // 변수가 값2하고 같으면...
         break;
     .....
     default:
     // 앞의 조건들이 모두 아닐 경우...
         break;
}

package day5;

public class Switch {
	public static void main(String[] args) {
		int num = 4;
		
		switch(num) {
		case 1:// 만약에 num == 1이면 
			System.out.println("값이 1입니다.");
			break;
		case 3:// 만약에 num == 3이면 
			System.out.println("값이 3입니다.");
			break;	
		case 5:// 만약에 num == 5이면 
			System.out.println("값이 5입니다.");
			break;	
		default:// 어디에도 포함되지 않으면 
			System.out.println("기본 문장을 실행합니다.");
			break;
		}
		
		
		
	}
}




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

이중반복문 (Nested For)  (0) 2022.05.29
반복문 (for)  (0) 2022.05.29
연산자(Operator)  (0) 2022.05.18
printf(), 형식지정자(%~), 입력 메소드 Scanner 클래스  (0) 2022.05.16
변수  (0) 2022.05.13