Java

형 변환(type casting)

ryeonng 2024. 4. 11. 04:41

형 변환(type casting)

  • 프로그래밍에서 하나의 데이터 타입을 다른 데이터 타입으로 변환하는 과정.
  • 크게 두 가지 유형으로 나눌 수 있다: 암시적 형변환명시적 형변환. 자동형변환, 강제형변환

 

package basic.ch02;

/**
 * 형 변환이란? 
 * 데이터 타입을 다른 타입으로 변경 하는 것 
 * 자동 형변환, 강제 형변환 
 */
public class TypeConversion {

	// 코드의 시작점 
	public static void main(String[] args) {
		
		int intDataBox = 100; // 4byte  
		double doubleDataBox; // 8byte 
		
		//                 100 
		doubleDataBox = intDataBox;
		// 작은 상자에서 큰상자로 들어가는 개념이다. 
		System.out.println(doubleDataBox);
		// 자동 형 변환 이다. 
		
		System.out.println("------------------------");
		
		
		
		// 그럼 강제 형 변환이란 
		final double PI = 3.14159; 
		
		// int intBox = PI; // 컴파일러가 작은 상자에 큰 상자로 값을 넣을 수 없어 !!! 
		// 컴파일러야 괜찮으니깐 그냥 강제로 넣어 
		int intBox = (int)PI;
		System.out.println(intBox);
		// 소수점 값을 그냥 버려 버림 
		
		
		// 연습 
		double interestRate; 
		int discount; 
		
		interestRate = 15.5; 
		// discount = <-- 변수에 강제 형 변환해서 값을 넣어 보자. 
		
		discount = (int)interestRate;
		System.out.println(discount);
		System.out.println( (int)7.5 );
	} // end of main 
} // end of class

 

 

도전 과제

 

💡 당신은 전자 상거래 웹사이트를 운영하고 있으며, 특정 제품에 대해 할인 행사를 진행하려고 합니다. 제품의 원래 가격은 59.99달러이고, 30% 할인을 적용하려고 합니다. 최종 가격을 계산한 후, 소수점 이하를 버리고 정수 부분만을 가격으로 표시하려고 합니다.

  1. 제품의 원래 가격과 할인율을 상수로 선언하십시오.
  2. 할인된 가격을 계산하고, 그 결과를 정수로 형변환하여 최종 가격을 구하십시오.
  3. 최종 가격을 출력하십시오. 

 

할인율 공식 선정하기 (인터넷 검색)

  1. 할인된 가격 = 원가 − (원가 × 할인율)
  2. 할인된 가격 = 원가 × (1 − 할인율)

공식 테스트 및 사용

원가가 50달러이고 할인율이 30%인 경우 (30% → 0.30) 할인된 가격은?

1번 공식 활용 적용

할인된 가격 —→ x

할인율은 소수점으로 변경 —→ 0.3

50 x 0.3 —> 15

즉 50달러에 할일율 30% 하면 35달러 이다.

 

할일율을 계산하는 공식을 선택하고 코드로 표현해 보자. - 비즈니스 로직

double discountedPrice = ORIGINAL_PRICE * (1 - DISCOUNT_RATE);

 

package basic.ch02;

public class DiscountCalculatory {

	public static void main(String[] args) {
		
		// 상수 선언 - 원가, 할일율 
		final double ORIGINAL_PRICE = 59.99; 
		final double DISCOUNT_RATE = 0.3; // 30% 할인 
		
		// 할인된 가격 = 원가 × (1 − 할인율)
		// 할인된 가격 계산 하기(비지니스 로직)
		double discountedPrice = ORIGINAL_PRICE * (1 - DISCOUNT_RATE);
		
		// 최종된 가격을 정수형으로 형 변환 처리 
		int finalPrice = (int)discountedPrice;
		// 결과 출력 
		System.out.println("최종 가격 : " + finalPrice);
		System.out.println("최종 가격(소수점) : " + discountedPrice);
		
	}

}

'Java' 카테고리의 다른 글

연산자(증감, 감소)  (0) 2024.04.11
연산자(산술)  (0) 2024.04.11
연산자(항, 대입, 부호)  (0) 2024.04.11
상수(Constant)  (0) 2024.04.11
변수(Variable)와 자료형(Datatype)  (0) 2024.04.09