코드를 짜다가 일시적으로 자료형(데이터 타입)을 변환해야 하는 경우도 있을 수 있습니다.
이번에는 그 방법에 대해서 알아보겠습니다.
지난 포스트
자료형 변환, 자동형 변환과 강제형 변환
위의 소스 코드는 PC에서 드래그 후,
ctrl+x로 잘라내서 다른 곳으로 붙여넣기가 가능합니다.
ctrl+c(복사)는 불가능합니다.
위의 코드들은
public static void main(String[] args) { }
이 코드의 중괄호 사이에 넣어줘야 정상적으로 작동합니다.
일단 코드들을 하나하나 살펴봅시다.
int num1 = 15;
long num2 = num1;
4바이트인 int라는 데이터 타입으로 num1 이라는 이름의 변수를 만들고 그 안에 15라는 값을 넣었습니다.
그리고 8바이트인 long이라는 데이터 타입으로 num2 변수를 만들고, num1의 값을 num2 안에 넣었습니다.
이런 때에는 자동형 변환이 일어납니다.
4바이트인 int 안에 어떤 값이 들어있더라도, 더 큰 8바이트인 long은 받아들일 수 있죠.
이어서 아래의 코드도 살펴봅시다.
num2 = 30;
int num3 = (int)num2;
System.out.println(num3);
num2는 long이었습니다.
그런데 long 변수인 num2의 값을 int 변수인 num3에 넣으려고 합니다.
만약 int num3 = num2; 이렇게 해버린다면 오류가 납니다.
꼭 long 변수인 num2 앞에 (int)를 붙여줘야 합니다.
이렇게 하면 8바이트인 long의 값도 4바이트인 int 안에 넣을 수 있고, 이것을 강제형 변환이라고 합니다.
위의 코드들을 실행시키면 결과값은 아래와 같이 나옵니다.
15
30
15.0
24
22.0
22
다음 포스트
이 글이 도움이 됐다면 하단의 ♡ 공감 버튼을 꾹 눌러서
빨간 하트♥로 만들어주세요.
지인에게 보여주고 싶은 글이었다면
공감 버튼 옆을 클릭해서 SNS에 공유해주세요.
댓글은 블로그 운영에 큰 힘이 됩니다.
'그 외 프로그래밍 언어 > Java' 카테고리의 다른 글
자바, 산술연산자 (0) | 2021.11.21 |
---|---|
자바, 연산자란? (feat. 연산자의 종류) (0) | 2021.11.21 |
자바 이클립스, 주석 처리하는 법 (0) | 2021.11.21 |
자바, 기본 데이터 타입 8개의 코드를 짜봅시다. (0) | 2021.11.21 |
자바, 간단한 첫 코드를 짜봅시다. (0) | 2021.11.21 |
댓글