개발모음집

[JAVA Basic] 9강 형변환 본문

JAVA

[JAVA Basic] 9강 형변환

void 2016. 6. 1. 15:25

값의 타입을 다른 타입으로 변환하는 것이다.


boolean을 제외한 7개의 기본형은서로 형변환이 가능하다.

//변수에 저장되는 값을 리터럴이라고 한다.


기본형은 기본형끼리 참조형은 참조형끼리 형변환가능.

ex) float ft = 1.6f; int i = (int)ft;//() 강제적 형변환,

작은 값에서 큰 값으로 변환하는 건 자동형변환

큰 값에서 작은 값으로 변환하는 건 강제형변환


변 환

수 식

결 과

int char

(char)65

‘A’

char int

(int)‘A’

65

float int

(int)1.6f

1

int float

(float)10

10.0f

 

ex)

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
31
 
public class castingEx {
    public static void main (String [] args)
    {
        byte bt = 10;
        long ln = bt; // 자동형변환
        
        int i = (int)ln;
        //ln은 long형, 그렇기 때문에 강제형변환을 해줘야함.
        
        System.out.println("ln = "+ln);
        System.out.println("i = "+i);
    
        char ch = 'A';
        System.out.println(ch+1); // 일종의 정수형으로 자동형변환
        //("ch = "+ch+1)로 하면 A1으로 출력됨.
        
// 70이라는 값을 문자로 출력하고 싶다.
        char ch2 = 'C';
        int result = ch2+3;
        System.out.println("result ="+result);// 결과값: 70
        
// 문자로 출력하려면 다운캐스팅해야한다.
// int에서 char로 캐스팅이기에 강제형변환
        char ch3 = (char)result;
        System.out.println("ch3 = "+ch3);
        
        
    }
    
}
 
cs