Java

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

정훈5 2024. 4. 11. 09:03

조건 연산자란?

  • 조건식의 결과 true(참)인 경우와 false(거짓)인 경우에 따라 다른 결과가 수행
  •  if (조건문)을 간단히 표현할 때 사용 할 수 있음

(그림)

 

package basic.ch03;

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

public class Operation8 {
	
/* 
 * 삼항 연산자 (조건 연산자)
 * int num = 조건식 ? 결과 : 결과2
 */
	// 코드 시작
	public static void main(String[] args) {
		
		System.out.println("입력 받은 두 수 중에 큰 수를 출력하세요");
		
		// 자바 특징 --> 풍부한 라이브러리를 지원 한다.
		// JDK --> 표준 라이브러리(자바 개발자들이 만들어준 기능, 도구)를 사용해보자
		// 데이터 타입( 특징 :  )
		
		// 콘솔창(Console)에서 사용자가 키보드로 입력한 값을 받아 주는 녀석이다.
		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

 

따로 basic 패키지 만들어서 Operation8 class 연습해보기

package basic.ch03;

import java.util.Scanner;

public class Operation8 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("X의 값을 입력해 주세요.");
		
		int x = sc.nextInt();
		System.out.println("X의 값은 " + x);
		System.out.println();
		
		System.out.println("Y의 값을 입력해 주세요.");
		
		int y = sc.nextInt();
		System.out.println("Y의 값은 " + y);
		System.out.println();
		
		int result = (x > y) ? x : y;
		System.out.println("x와 y의 비교값 result의 값은 " + result);

	}

}

 

연산자 우선순위

● 가장 높은 순위 연산자는 ( ) [ ] .

● 가장 낮은 순위 연산자 =

 

연산자 연습 문제

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("result1 : "+(int)result1);

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

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

		// 5. 변수 intData 와 doubleData, 관계 연산자를 사용해서
		// result2 변수에 값을 true 담기도록 식을 만들고 만들고 출력하세요
		
		int num1 = 10;
		int num2 = 30;
		
		boolean result2 = num1 < num2;
		System.out.println("result2 : "+result2);
		

		// 6. 변수 result3 을 선언하고 num1과 num2 변수가 합이
		// 숫자 50보다 큰지 논리 연산자를 사용해서 결과를 담고 출력하세요
		
		boolean result3 = (num1 + num2) > 50;
		System.out.println("result3 : "+result3);
		
	
		// 7. num1과 num2 값 중 큰 수를 삼항 연산자를 사용해서
		// max 변수에 값을 담고 출력해주세요
		// 조건식 ? 결과1 : 결과2
		
		int max = (num1 > num2) ? num1 : num2;
		System.out.println("max의 값 " + max);
	}

}