티스토리 뷰

Java

JAVA - 형변환과 자동 형변환

장진혁 2023. 2. 13. 20:00

형변환 연산자

변환
수식
결과
int -> char
(char)65
'A'
char -> int
(int)'A'
65
float -> int
(int)1.6f
1
int -> float
(float)10
10.0f
class Operator3_1 {
    public static void main(String[] args) {
        int i = 65, num = 10;
        char ch = 'A';
        float f = 1.6f;

        System.out.println("(char)i = " + (char)i); // i는 65 아스키코드 A
        System.out.println("(int)ch = " + (int)ch); // ch는 A 아스키코드 65
        System.out.println("(int)f = " + (int)f); // 1.6실수가 정수가 되어서 1이됨
        System.out.println("(float)num = " + (float)num); // 정수가 실수가 됨
    }
}

 

동형변환

  • float f = 1234; => int 타입의 값을 float타입의 변수에 저장!
  • 상대적으로 int 타입이 float 타입 보다 크기가 작기 때문에 가능합니다.
 
  • float f = (float)1234; => 사실 변수와 리터럴의 타입을 일치 시켜줘야 합니다
  • 우리가 보는 코드에는 형변환이 생략되어 있었습니다. 즉, 컴파일러에 의해 자동으로 형변환된 겁니다.

 

기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환된다

표현범위가 좁은 타입에서 넓은 타입으로 형변환하는 경우에는

값 손실이 없음으로 두 타입 중에서 표현 범위가 더 넓은 쪽으로 형변환된다.

'Java' 카테고리의 다른 글

JAVA - Math 클래스와 문자열의 비교  (0) 2023.02.13
JAVA - 산술변환  (0) 2023.02.13
JAVA - 문자와 문자열  (0) 2023.02.13
JAVA - 기본형과 참조형  (0) 2023.02.13
JAVA - 상수(constant)와 리터럴(literal)  (0) 2023.02.13
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함