YTCW
java 형 변환 본문
자바 형 변환이란
하나의 타입을 다른 타입으로 바꾸는 것
자료형의 크기에 따른 형 변환 규칙
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 |