Java

삼항 연산자(조건 연산자)

ryeonng 2024. 4. 11. 16:08
  • 조건식의 결과가 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행
  • if (조건문)을 간단히 표현할 때 사용

 

 

 

package basic.ch03;


// 수입하다, 가지고 오다 
import java.util.Scanner;

/**
 *  
 * 삼항 연산자(조건 연산자)
 * int num = 조건식 ? 결과1 : 결과2     
 *
 */
public class Operation8 {

	public static void main(String[] args) {
		
		System.out.println("입력 받은 두 수 중에 큰 수를 출력하세요");
		
		// 자바 특징 --> 풍부한 라이브러리를 지원 한다
		// JDK --> 표준 라이브러리(자바 개발자들이 만들어준 기능, 도구) 를 사용해보자.
		// 데이터 타입( 특징 :  )
		// 콘솔창에서 사용자가 키보드로 입력한 값을 받아 주는 녀석이다. 
		Scanner sc = new Scanner(System.in);   
		int x = sc.nextInt(); // 사용자가 입력한 정수값을 받아 주는 녀석
		System.out.println(" x 의 받은 값은 : " + x);
		int y = sc.nextInt();
		System.out.println("y 의 받은 값은 : " + y);
		
		System.out.println("----------------------");
		
		// 조건식 ? 결과1 : 결과2;
		int max =  x > y ? x : y;
		
		System.out.println(" 두 수 중에 큰 수는 " + max + " 입니다.");
		
		// 자원 닫기 
		sc.close();
		
	} // end of main
	
} // end of class

 


연산자 우선순위

  • 괄호의 우선 순위가 제일 높음.
  • 다음으로 산술>비교>논리>대입
  • 단항>이항>삼항 순
  • 연산자의 연산 진행 방향 : 왼 → 오 (단항 연산자와 대입 연산자의 경우, 오 → 왼)

 

 

 

 


 

연산자 연습문제

 

package basic.exercise;

public class OperatorPractice {

	// 코드의 시작점
	public static void main(String[] args) {

		// 1. intData와 doubleData을 덧셈 연산 하여 result1 변수에 담고
		// 결과값 30.5를 출력 하세요.
		
		int intData = 10;
		double doubleData = 20.5;
		// result1 변수명으로 사용하세요 
		double result1 = intData + doubleData;
		System.out.println(result1);
		
		
		// 2. result1 변수를 정수형으로 강제 형 변환 해서 출력하세요
		

		// 3. intData 변수에서 -1을 뺀 후 출력하세요
		// 단, 단항 연산자 사용

		// 4. doubleData 변수에 값을 -20.5로 출력 하세요
		// 단, doubleData 값을 변경하지 마세요

		// 5. 변수 intData 와 doubleData, 관계 연산자를 사용해서
		// result2 변수에 값을 true 담기도록 식을 만들고 만들고 출력하세요

		int num1 = 10;
		int num2 = 30;

		// 6. 변수 result3 을 선언하고 num1과 num2 변수가 합이
		// 숫자 50보다 큰지 비교연산자를 사용해서 결과를 담고 출력하세요.

		// 7. num1과 num2 값 중 큰 수를 삼항 연산자를 사용해서
		// max 변수에 값을 담고 출력해주세요

	} // end of main

} // end of class

 

 

-풀이

 

package basic.exercise;

// 코드의 시작점
public class OperatorPractice {

	// 코드의 시작점
	public static void main(String[] args) {

		// 1. intData와 doubleData을 덧셈 연산 하여 result1 변수에 담고
		// 결과값 30.5를 출력 하세요.

		int intData = 10;
		double doubleData = 20.5;
		// result1 변수명으로 사용하세요
		double result1 = intData + doubleData;
		System.out.println(result1);

		// 2. result1 변수를 정수형으로 강제 형 변환 해서 출력하세요
		System.out.println((int)result1);

		// 3. intData 변수에서 -1을 뺀 후 출력하세요
		// 단, 단항 연산자 사용
		--intData; 
		System.out.println(intData);

		// 4. doubleData 변수에 값을 -20.5로 출력 하세요
		// 단, doubleData 값을 변경하지 마세요
		// 20.5 <---- 
		// 부호 연산자를 알고 있는가?
		System.out.println(-doubleData);

		// 5. 변수 intData 와 doubleData, 관계 연산자를 사용해서
		// result2 변수에 값을 true 담기도록 식을 만들고 만들고 출력하세요
		
		int num1 = 10;
		int num2 = 30;
		boolean result2 = num1 < num2; 
		System.out.println(result2);
		
		// 6. 변수 result3 을 선언하고 num1과 num2 변수가 합이
		// 숫자 50보다 큰지 비교 연산자를 사용해서 결과를 담고 출력하세요
	 	boolean result3 =  (num1 + num2) > 50 ;	
		System.out.println(result3);
		
		// 7. num1과 num2 값 중 큰 수를 삼항 연산자를 사용해서
		// max 변수에 값을 담고 출력해주세요
		// 조건식 ? 결과1 : 결과2 
		int max = (num1 > num2) ? num1 : num2; 
		System.out.println("max : " + max);
		
	} // end of main

} // end of class

'Java' 카테고리의 다른 글

반복문( for )  (0) 2024.04.12
조건문 if  (1) 2024.04.11
연산자(관계,논리,빠른평가,삼항)  (0) 2024.04.11
연산자(복합 대입 연산자)  (0) 2024.04.11
연산자(증감, 감소)  (0) 2024.04.11