728x90
2022 / 9 / 5 월
- 실수형 타입
- 형변환
✔️실수형 타입 ( float, double )

float & double
- 정수 타입과는 다른 저장 방식 떄문에 정수 타입보다 훨씬 큰 범위의 값 저장 가능.
- 부동 소수점 ( floating - point ) 방식으로 저장
실수값 저장. float(4) , double(8) 기본은 더블 3.14 / 3.14d / 3.14D 동일한 double 실수형 데이터 타입 표현 8byte크기 double var1 = 3.14D; 4byte의 기억장소에 3.14 8 byte크기의 데이터를 저장 (대입) 할 수가 없다. float var2 = 3.14; -> 에러 float var3 = 3.14F; 정밀도 테스트 double var4 = 0.1234579883297897932793; float var5 = 0.1239491798643956983759F; System.out.println("var1: " + var1); System.out.println("var3: " + var3); System.out.println("var4: " + var4); System.out.println("var5: " + var5); e사용하기 int var6 = 3000000; double var7 = 3e6; float var8 = 3e6F; double var9 = 2e-3; // 2의 10-3승 System.out.println("var6: " + var6); System.out.println("var7: " + var7); System.out.println("var8: " + var8); System.out.println("var9: " + var9);

✔️형변환
1) 자동형변환(promotion)
- 작은 데이터타입의 값을 큰 데이터타입의 변수로 저장시 형변환을 하지않고, 자동처리
숫자형 데이터타입 크기
정수형 데이터타입보다는 실수형 데이터타입이 더 큰 개념으로 정의되어 있다.
byte < short ( char ) < int < long < float < double
작은 데이터타입의 값을 큰 데이터타입의 기억장소에 자동으로 형변환과정이 일어나 저장이 이루어진다.
변수 = 값;
값이 좌측의 변수 타입에 맞게 형변환이 일치해야한다. (타입일치)
byte bytevalue = 10; // int > byte int intvalue = bytevalue; // 자동형변환 System.out.println(intvalue); char charvalue = '가'; intvalue = charvalue; System.out.println("가의 유니코드 = " + intvalue); intvalue = 500; // intvalue 변수의 값을 읽어와서, 좌측의 변수 데이터타입 long형으로 변화되어, 값이 대입된다. long longvalue = intvalue; System.out.println(longvalue); intvalue = 200; double doublevalue = intvalue; System.out.println(doublevalue);

2) 명시적형변환(Casting)
- 큰 데이터타입의 값을 작은 데이터타입의 변수로 저장시 형변환작업을 명시적으로 해야한다
우측이 큰 데이터타입일경우는 자동형변환이 발생되지 않는다.
= 기준으로 우측의 값이 좌측의 타입과 일치를 하고, 대입된다 ( 타입일치 )
int intValue = 44032; // 정수값을 문자로 표현할 경우에는 char데이터 타입을 변환시켜야한다. char charValue = (char) intValue; System.out.println(charValue); long longvalue = 500; intValue = (int) longvalue; System.out.println(intValue); double doubleValue = 3.64; intValue = (int) doubleValue; // int형으로 변환되면서, 반올림없이 소수부분은 제거된다. System.out.println(intValue);
'🏃♀️ Do it ! > TIL' 카테고리의 다른 글
자바 배열 / 열거 타입 (0) | 2022.09.07 |
---|---|
연산자 / 이클립스 디버깅 (0) | 2022.09.06 |
JAVA / 자바 개발 환경 구축 / 변수 (0) | 2022.09.02 |
JAVA 개발환경구축 (0) | 2022.09.01 |
RAP (0) | 2022.08.31 |