개발의 시작과 끝

2020.02.24 / Day - 11 상수의 데이터 타입, 형 변환 본문

생활코딩 자바

2020.02.24 / Day - 11 상수의 데이터 타입, 형 변환

개발지혜 2020. 2. 24. 14:17

생활코딩 6 - 상수의 데이터 타입

 

상수

변하지 않는 값. 고유한 값을 가지고 있고, 그 값을 변경할 수 없는 데이터 타입을 상수라고 한다.

ex) 1, 20, 300

 

 

상수와 데이터 타입

 

실수 표현

  • double a = 2.2 => 2.2
  • float a = 2.2F => 2.2 / 여기서 F는 float형 이라는 것을 분명하게 명시해준 것이다. 

 

정수 표현

  • int a = 2147483648 => int의 최대값인 2147483647 보다 1많기 때문에 오류가 난다.
  • long a = 2147483648L => 2147483648 / 상수와 상수를 담을 변수도 long타입이 된 것이다. long타입이라는 것을 명시해주기 위해 상수 뒤에 L을 붙여준다.
  • byte a = 100; , hort b a = 200; / 자바는 byte와 short타입에 대해서는 int형을 허용하기 때문에 오류가 발생하지 않는다.

생활코딩 7 - 형 변환

 

형 변환(Casting)

형 변환이란 데이터 타입을 변경하는 것이다.

  • 자동 형 변환(묵시적 형 변환)

자바가 데이터의 값이 안전하다고 생각하면 자동으로 형 변환을 해주는 것이다.

double a = 3.0F;
위의 코드는 double타입의 변수 a에 float타입의 값을 대입하고 있지만,
double타입이 float타입보다 더 많은 수를 표현 할 수 있기 때문에 자동 형 변환이 일어난다. 반대로

float  a = 3.0; 

을 넣으면 float형이 double형 보다 값의 표현 범위가 좁기 때문에 오류가 발생한다.

 

예제

int a = 3;
float b = 1.0F;
double c = a + b;

출력 : 4.0

 

  • 수동 형 변환(명시적 형 변환)

자동으로 변환이 적용되지 않는 경우에는 수동으로 형 변환을 해야한다.

 

예제

float a = 100.0;
int b = 100.0F;

▼
float a = (float)100.0;
int b = (int)100.0F;

출력 : 100.0, 100

위와 같이 괄호 안에 데이터 타입을 지정해서 값 앞에 위치시키면 수동 형 변환이 일어난다.

이렇게 수동으로 형 변환을 시켜주면 오류가 발생하지 않는다.