하지만 자바는 byte형과 short형 정수의 표현 방법을 제공하지 않기 때문에 단지 숫자로 초기화를 허용함
반면 long형 정수의 표현 방법은 숫자의 끝에 문자 L 또는 l을 붙이는 것을 별도로 제공
자바 컴파일러는 실수형 상수를 double형 실수로 인식하도록 약속되어 있음
double형으로 포현된 상수임을 명시하고 싶다면 D 또는 d를 붙임
float형 실수를 표현하고 싶다면 f 또는 F를 붙임
부울형 상수는 true, false만 가질 수 있음
문자형 상수는 유니코드로 표현
이외에도 화면상의 어떠한 현상을 나타내기 위한 문자들인 이스케이프 시퀀스 문자가 존재
✔형 변환
자료형의 변환?
데이터의 표현 방법에 따라 덧셈 방법이 다르므로 두 변수의 자료형을 하나로 일치시키는 과정이 필요
int형 변수와 long형 변수가 있을 경우, long형으로 변환해야 데이터의 손실 없이 연산이 가능
int형 변수에 담긴 값을 long형으로 변환하여 연산하기 위해서는
int형 변수에 저장된 값을 long형으로 변환하여 메모리에 임시 저장한 후
변환된 값과 long형에 저장된 값을 대상으로 덧셈을 진행
자동 형 변환
프로그래머가 명시한 형 변환이 아니고 필요한 상황에서 자동으로 형 변환이 일어나기도 함
형 변환이 필요한 상황에서는 두 규칙에 근거하여 자동으로 형 변환이 일어남
자료형의 크기가 큰 방향으로 형 변환이 일어남
자료형의 크기에 상관없이 정수 자료형보다 실수 자료형이 우선됨
자동 형 방향이 이뤄지는 방향
명시적 형 변환
자동으로 형 변환이 진행되지 않는 상황에서도 필요하다면 명시적 형 변환을 통해 형 변환
하지만 큰 정수 자료형에서 작은 크기의 정수 자료형으로 형 변환을 진행하는 경우 상위 바이트가 잘려나감을 주의
short num1 = 1;
short num2 = 2;
short num3 = num1 + num2; // 정수형 연산은 int형이 되므로 컴파일 오류 발생 O
short num3 = (short)(num1 + num2); // int형을 short형으로 명시적 형 변환하므로 컴파일 오류 발생 X