<Hist>
[2023-01-19] 생성
<Note>
Java의 기본적인 데이터 타입에 대한 개념을 잡아보겠습니다.
그 전에, 데이터 타입과 관련된 개념들을 익히는 것이 도움이 될 것 같습니다.
(코드 내에 주석으로 포함되어있습니다.)
1) 리터럴 (Literal)
변수에 저장되는 그 자체의 값(1,2,3,..'a','b','c'...,true, false)
2) 변수 (Variable)
하나의 값을 저장하기 위한 메모리 공간
3) 데이터 타입 (Data type)
자바에서 제공되는 기본적인 변수 유형 (값을 저장하는 유형)
- 기본 데이터 타입(primitive data type)
byte(1), short(2), int(4), long(8)=>정수
float(4), double(8) => 실수
char(2) => 문자
boolean(1) => 논리
- 참조 데이터 타입 (reference data type)
배열(array), 클래스(class), 인터페이스(interface)
4) 시스템에서 인식하는 데이터 타입 크기
: byte<short,char<int<long<float<double
이제, 코드 부분을 통해 데이터를 할당하고,
데이터의 형식을 변환할 수 있는 방법을 간략하게 익혀보겠습니다.
<Code>
코드에서 볼 수 있듯,
1) [Line 32] "(int)" 구문을 이용하여 명시적으로 double -> int로 Type Casting(형변환)이 가능합니다.
2) [Line 39]와 같이, 특정 조건 하에서 묵시적인 형변환이 가능합니다.
묵시적 형변환은 그림과 같이, 표현범위가 작은 데이터 타입에서 넓은 데이터 타입으로 변환하는 경우에만 가능합니다.
그림에서 예를 들자면, Long -> Float로는 묵시적 형변환이 가능하나, Float -> Long으로의 형변환은 불가합니다.
또한, 코드의 중간에 변수의 유형을 결과값으로 출력하기 위해
"System.out.println("typeof(num) : " + ((Double) num).getClass().getName());"
등과 같은 코드가 삽입되었는데,
int, double, long 등의 기본 변수 타입은 Class가 아니기 때문에 getClass().getName() 함수로 직접적인 확인이 불가합니다.
그렇기 때문에, Integer, Double, Long의 클래스로 명시적 형변환을 시켜주어 변수 타입을 출력해줘야 했습니다.
해당 클래스들은 각각의 Type에 해당하지 않으면 형변환이 불가능합니다.
(int -> Integer / double -> Double / long -> Long으로만 형변환 가능)
<Result>
아래와 같이, 각각 변수에 대한 값과 타입이 출력되는 것을 볼 수 있습니다.
특히, double형의 num의 경우, int형인 x로 형변환될 경우,
소수 부분이 절사되는 것을 확인할 수 있습니다.
'Programming > JAVA' 카테고리의 다른 글
JAVA_03-03_Print (0) | 2023.09.04 |
---|---|
JAVA_03-02_Operator (연산자) (0) | 2023.01.19 |
JAVA_sapjco3 에러_java.lang.UnsatisfiedLinkError : no sapjco3 in java.library.path (0) | 2023.01.18 |
Eclipse_3종 Clean! (0) | 2023.01.18 |
Eclipse_소스창 세로줄 제거법 (0) | 2023.01.18 |