개발자 도전기
[JAVA] 데이터 타입과 연산자의 형변환 본문
자바에서는 데이터 타입을 엄밀하게 구분한다고 지난번에 배웠는데,
정수나 실수 타입에서도 데이터 타입이라는 것이 여러개라는 것을 알게 되었다.
정수형에는 담을 수 있는 데이터의 크기 순으로 byte < short < int < long 이 있고,
가장 대중적으로 사용하는 것은 int이다.
또, long 타입의 데이터를 사용할 경우 long a = 41825L과 같이 끝자리에 L을 붙여줘야 한다.
실수에는 float와 double이 있는데 float도 long과 마찬가지로 끝자리에 F형을 붙여줘야 float형에 담을 수 있다.
또한 상수를 본인의 데이터 타입이 아닌 데이터 타입에 담는 것도 가능한데, 이를 형변환이라고 한다.
형변환은 더 큰 데이터 타입이 보다 작은 데이터 타입을 담아서 따로 명시가 필요 없는 자동 형변환과
반대인 경우에 데이터가 유실될 가능성이 있는 명시적 형 변환이 있다.
이렇게 데이터 타입의 분류가 까다로운 자바에서 서로 다른 데이터 타입끼리 연산자를 사용해서 계산하면 어떻게 되는걸까?
public class ArithmeticDemo {
public static void main(String[] args){
int result = 1+2;
System.out.println(result);
result = result + 8;
result = result%7;
System.out.println(result);
int a = 10;
int b = 3;
float c = 10.0F;
float d = 3.0F;
System.out.println(a/b);
System.out.println(c/d);
System.out.println(a/d);
}
}
a/b의 경우 정수의 데이터타입을 선언했기 때문에 실수인 0.3333333...이 유실된다.
c/d의 경우 데이터타입과 결과값 모두 실수이기 때문에 값이 유실되지 않는다.
a/d의 경우 a가 자동으로 float 형으로 형변환이 된다.
'개발공부 > JAVA' 카테고리의 다른 글
[JAVA] 반복문 : break, continue (1) | 2024.01.27 |
---|---|
[JAVA] 조건문 : Switch (1) | 2024.01.26 |
[JAVA] 직접 컴파일하고 실행하기 (0) | 2024.01.25 |
[JAVA] 인자(argument)와 매개변수(parameter) (0) | 2024.01.25 |
[JAVA] 입력과 출력 (0) | 2024.01.25 |