YTCW

java 형 변환 본문

java

java 형 변환

YTCW 2024. 9. 4. 14:48

자바 형 변환이란

하나의 타입을 다른 타입으로 바꾸는 것

 

자료형의 크기에 따른 형 변환 규칙

byte (1) < short (2) < iint (4) < long (8) < float (4) < double (8)

메모리 설계상 정수 타입보다 실수 타입이 더 크기 때문에 8바이트 long보다 4바이트 float(플랏) 이 더 크다.

 

자동 형 변환 (묵시적)

크기가 큰 자료형으로의 변환

byte smaillBowl = 10; 1byte
int bigBowl = 10000; 4byte

 

작은 그릇과 큰 그릇을 만들고

bigBowl = smallBowl; 넣으면

작은 범위의 타입을 큰타입으로 넣을 때는

컴파일러가 자동으로 형 변환을 수행한다.

 

byte a = 32;
short b = a;
int c = b;
long d = c;

float a = d;

실수는 정수 자료형 보다 크다.

 

 

강제 형 변환 (명시적)

크기가 작은 자료형으로의 변환

int number1 = 1234;

float fNumber1 = number; 값 손실 일어나지 않는다

 

float fNumber2 = 3.14f;

int number2 = fNumber2; 실수를 정수로 강제 타입 변환 시에 오류가 난다.

 

강제형 변환 방법은

(작은 변환자료형)큰데이터값;을 사용해야 한다. 

ex ) int number2 = (int)fNumber2; 

3으로 출력됨 소수점 이하의 데이터는 버려집니다.

 

char자료형의 형 변환 ( char는 2byte 이다)

char a1 = 'a'; 일반 문자값

char a2 = 97; 아스키코드값 

char a3 = '\u0061'; 유니코드값

 

int num97 = 97;

System.out.println(num97); 97이 나온다

 

char example = '가';

System.out.print((int)example); 44032가 나온다

+1하면

44033 이 나온다

System.out.print((char)((int)example)); 각으로 나온다

 

char 자료형은 음수 표현식이 없고 전부다 양수 표현만 가능하다. 

long l1 = 123456;

int i1 = (int)l1;

short s1 = (short)b1;

byte b1 = (byte)s1;

Sysout.out.println(b1); 64가 출력된다

'java' 카테고리의 다른 글

java 산술, 증감, 연산자  (0) 2024.09.04
java 기본 입출력  (0) 2024.09.04
java 이클립스 기본 단축키  (0) 2024.09.04
java 변수, 상수  (0) 2024.09.04
자바 프로그래밍의 특징  (2) 2024.09.04