형 변환(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 − 할인율)
공식 테스트 및 사용
원가가 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 |