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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
 
class Casting 
{
    public static void main(String[] args) 
    {
 
        //형변환, Type Casting
        // - A라는 자료형을 B라는 자료형으로 볗놘하는 작업
        // - 숫자형 끼리만 가능 ()
        int a = 10;
        int b;
 
        //공간 = 값
        b = a;      //a가 가지고 있는 값을 b에 넣어라(복사해서))
 
        
 
        //1. 안시적인 형변환
        //  - 큰형 = 작은형;        //com:원고지 1칸->2칸에 복사   □  -> □□
        //  - 100% 안전한 작업      
 
        //2. 명시적인 형변환
        //  - 작은형 = 큰형;        //    원고지 2칸->1칸에 복사   □□ ->  □
        //  - 불안전(경우에 따라.. 성공, 실패)
 
        //3. 형변환 연산자
        //  - ()
 
 
 
 
        //예제)
 
        //안시적인 형변환
        byte b1;   //1byte
        short s1;  //2byte
 
        b1 = (byte)-127//원본(풀이:오른쪽에 있는 int를 byte로 바꿔주세요)
 
        //큰형 = 작은형
 
        //short = byte
        //int = short
        //long = byte
 
        //s1 = b1;
        s1 = (short)b1;   //권장, 명시적 (생략가능한 표현 '(shrot)')
        System.out.println(s1);
 
 
 
        //명시적인 형변환
        byte b2;
        short s2;
 
        s2 = 1000//원본
 
        //작은형 = 큰형
        b2 = (byte)s2;  //'(byte)'생략하면 안됨****
        System.out.println(b2); //복사본
 
 
        //예제) 은행잔고와 에러
        int money = 200000000;
        short money2;
 
        money2 = (short)money;
        System.out.println(money2);
 
 
 
 
        //정수 -> 정수
 
 
        //실수 -> 실수
        float f1;
        double d1;
 
        d1 = 3.1245;
 
        f1 = (float)d1;
        System.out.println(f1);  
 
 
 
 
 
        //크로스
        //정수 -> 실수 : 3  >  3.0
        //실수 -> 정수 : 3.5 ->  3  (남는 소수이하 (0.5) 버림)
 
        //실수는 정수보다 크다 ***
        //byte < short < int < long < float < double
        // 1       2      4      8     4       8    byte
        
        int a3 = 3;
        double b3;
        
        // b = (double)a;
        b3 = a3;
        System.out.println(b3);
        
        
        
        int a4;
        double b4;
        b4 = 3.12345;
 
 
        //정수 = 실수
        a4 = (int)b4;
        
        System.out.println(a4);
 
 
 
 
        //숫자형 나머지..
        //  - char형
 
        // A - 65, B-66, C-67   ***외워두기
        // A ~ Z : 65~96 (+25)  대 **
        // a ~ z : 97~122(+25)  소 **
        // 0 ~ 9 : 48~57 (+9)   숫자 **
        // 가 ~ 힝 : 
 
        char c1 = 'A'//A자리에 '힝' '9' 대입해보기
        int code1;
 
        code1 = (short)c1; //풀이: A의 코드값을 int 자리에 넣어라
        System.out.println(code1);
        System.out.println((char)66); //풀이:문자코드값 66에 해당하는 글자를 만들어내라
 
 
 
 
        //사용자에게 영소문자 입력?  -유효성검사
 
        char c2 = 'h'//h의 코드값을 찾아서 범위 안에 있으면 오키
        int code2 = (int)c2;
        System.out.println(code2);  //'h' ->104
        System.out.println(code2 >= 97 && code2 <=122); //true
 
    }
}
 
cs


'WEB > JAVA' 카테고리의 다른 글

SCANNER  (0) 2015.05.21
OUTPUT(출력)  (0) 2015.05.21
ESCAPE  (0) 2015.05.21
VARIBALE(변수)  (0) 2015.05.21
데이터타입  (0) 2015.05.21

+ Recent posts