[java] 형 변환

sesame·2021년 8월 4일
0

Java

목록 보기
5/25

> 오버플로우(overflow)

127+1을 하면 범위를 초과한 128이 되고 허용된 범위 이상의 비트를 침범하게 되는 것

//byte 형은 -128부터 127까지 담을 수 있는데 만약 128을 담으려고하면 -128이된다.
byte b = 125;
b += 5;
System.out.println(b);  //b = -126

>언더플로우(underflow)

데이터 타입이 저장할 수 있는 값의 범위보다 작은 값을 저장한 경우 가장 큰숫자로

> 형변환

값의 자료형을 바꾸는 것

1. (묵시적) 자동 형변환

컴파일러가 자동으로 값의 범위가 작은 자료형을 값의 범위가 큰 자료형으로 변환
byte → short → int → long → float → double

int a = 12;
double b = 3.3;
double result = a + b;
//byte와 short 자료형 값의 계산 결과는 무조건 int로 처리

2. (명시적) 강제 형변환

값의 범위가 큰 자료형을 값의 범위가 작은 자료형으로 변환
강제 형변환시 데이터 손실이 발생할 수 있음

//int/int ⇒ int
//double로 나타내고 싶을 때
//double/int ⇒ double/자동형변환double ⇒ double
int i = 4;
int j = 3;
double k = i /(double)j;
double k = (double)i / (double)j;

0개의 댓글

관련 채용 정보