TIL 5 | Java - Casting : 형변환

2022. 9. 26. 21:26·Java

형변환

데이터 크기 비교 
# byte(1) < short(2) < int(4) < long(8) < float(4) < double(8)

자동형변환

  • 작은 크기를 가지는 타입이 큰 크기를 가지는 타입에 저장될 때 자동 형변환이 일어남
  • float는 4바이트이지만 표현할 수 있는 값의 경우의 수가 정수형보다 크다.
  • int형보다 작은 데이터타입의 연산은 자동으로 int형으로 형 변환이 이루어짐
byte b = 10;
int s = b; // byte가 int형으로 자동 형변환
short i = b; //byte가 short형으로 자동 형변환
long l = b; //byte가 long형으로 자동 형변환
		
char c = '가';
int j = c; // char가 int형으로 자동 형변환
System.out.println("가 의 유니코드 숫자값 : " + j);
		
int k = 1000;
double d = k; //int -> double
System.out.println(d);

명시적 형변환

  • 크기가 큰 데이터를 작은 데이터 타입으로 변환할 때에는 앞에 (data type) 을 붙여준다. ex)char c = (char)i;
int i  = 70;
char c = (char)i;
short s = (short)i;
double d = 3.14;
int k = (int)d; 
		
System.out.println(c);
System.out.println(s);
System.out.println(k);
/*
 * 캐스팅을 할 때 주의할 점
 * 해당 값을 받을 수 없는 범위가 들어오면 잘려나간 값 (쓰레기값)이 저장 됩니다.
 */
int a = 1000;
byte b = (byte)a;
System.out.println(b);
		
/*
 * char, short는 크기가 같지만
 * 문자형과 숫자형이기 때문에 형변환이 필요
 */
		
char cc = 'A';
short ss = (short)cc;

연산에서의 형변환

//연산에서의 형변환
char c = 'C'; //67
int i = 2;
		
System.out.println(c + i); //69
		
//1.서로 다른 타입의 연산에서는 큰타입을 따라갑니다.
char cc = (char)(c + i);
int ii = c + i;
		
System.out.println(cc); //E
System.out.println(ii); //69
		
//2.int형보다 작은 타입의 연산의 결과는 int가 됩니다.
byte b1 = 100;
byte b2 = 10;
byte b3 = (byte)(b1 + b2);
//int b3 = b1 + b2;
		
short s1 = 100;
byte s2 = 10;
		
short s3 = (short)(s1 + s2);
		
int j = 10;
double d = 3.14;
double result = j + d;
		
System.out.println(result);

2022.09.21.wed / course2

'Java' 카테고리의 다른 글

TIL 7 | Java - Scanner / Math.random()  (0) 2022.09.27
TIL 6 | Java - Operator : 연산자  (0) 2022.09.27
TIL 4 | Java - Variable : 변수  (0) 2022.09.21
TIL 3 | Eclipse 단축키, sysout  (0) 2022.09.20
TIL 2 | Eclipse - new java project & class /export, import  (0) 2022.09.20
'Java' 카테고리의 다른 글
  • TIL 7 | Java - Scanner / Math.random()
  • TIL 6 | Java - Operator : 연산자
  • TIL 4 | Java - Variable : 변수
  • TIL 3 | Eclipse 단축키, sysout
개발 공부
개발 공부
  • 개발 공부
    개발 공부
    개발 공부
  • 전체
    오늘
    어제
    • 전체보기 (163)
      • 프로젝트 (1)
      • JavaScript (46)
      • Node.js (3)
      • Next.js (5)
      • React (17)
      • NoSQL (0)
      • HTML,CSS (3)
      • CS (6)
      • Java (35)
      • Spring (6)
        • Spring의 정석 (1)
      • Spring boot (1)
      • MySQL (1)
      • 리눅스 (16)
      • JSP (9)
      • AWS (0)
      • git (2)
      • 알고리즘 (1)
      • ect (7)
      • Project (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    자바
    자바의 정석
    Java
    Java의 정석
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
개발 공부
TIL 5 | Java - Casting : 형변환
상단으로

티스토리툴바