๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป ํ”„๋กœ๊ทธ๋ž˜๋ฐ/JAVA

2-1 JAVA๊ฐ€ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ํ˜•๊ณผ Cast์™€ Promotion

JAVA๊ฐ€ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ํ˜•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

CAST์™€ PROMOTION


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
package pack;
 
public class Test1 {
    public static void main(String[] ar){
        System.out.println("์„ฑ๊ณต");
        System.out.println("๋‹จ์ถ•ํ‚ค๋ฅผ ์—ฐ์Šตํ•˜์ž");
        System.out.println();
        System.out.print("์ž๋ฐ”");
        System.out.print("๋ณ€์ˆ˜");
        System.out.println("์—ฐ์Šต");
        
        //ํ•œ ์ค„ ์ฃผ์„
        System.out.println("ํ•œ ์ค„");//์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ํ–‰์˜ ๋๊นŒ์ง€ ์ฃผ์„
        /*
         ์—ฌ๋Ÿฌ์ค„ ์ฃผ์„
         */
        
        //์ƒ์ˆ˜๋ฅผ ๊ธฐ์–ตํ•˜๊ณ ์ž ๊ธฐ์–ต์žฅ์†Œ๋ฅผ ํ™•๋ณดํ•˜๊ณ  ๊ธฐ์–ต์žฅ์†Œ์— ์ด๋ฆ„์„ ๋ถ€์—ฌ: ๋ณ€์ˆ˜
        //๊ธฐ๋ณธํ˜• bcbsilfd - ์ƒ์ˆ˜๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ์ž๋ฃŒํ˜• boolean/int/float๋ฅผ ๋งŽ์ด ์“ด๋‹ค.
        //String : ๋ฌธ์ž์—ด ๊ธฐ์–ต์žฅ์†Œ : ๊ธฐ๋ณธํ˜•์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋‚˜, ์‚ฌ์‹ค์€ ๊ฐ์ฒด ๋ณ€์ˆ˜
        //์ฐธ์กฐํ˜• : ๊ฐ์ฒด ๋ณ€์ˆ˜
        
        byte var1; //๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฒ• <<๋ณ€์ˆ˜ ์„ ์–ธ ํ˜•์‹(type) : ํ˜• ๋ณ€์ˆ˜๋ช…, 1byte>>
        //Double์€ (-128 ~ 127๊นŒ์ง€ ๊ธฐ์–ต) 
        var1 = 10;
        var1 = 5;
        
        System.out.println(var1); //์ด method๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅํ•œ๋‹ค.
        
        short var2 = 10000// 32767์ด์ƒ์ด ๋„˜์–ด๊ฐ€๋ฉด ์—๋Ÿฌ 2bytes ๊ธฐ์–ต์žฅ์†Œ 2^15
        System.out.println(var2);
        
        int var3 = 2147483647//2147483647๊นŒ์ง€ 4bytes ๊ธฐ์–ต์žฅ์†Œ 2^31
        System.out.println(var3);
        
        long var4 = 2147483648L; /* 8bytes ํ™•๋ณด - 2^63 ์ผ๋ฐ˜์ ์ธ ์ˆซ์ž๋Š” ๋ชจ๋‘ int (interger : ์ •์ˆ˜)ํ˜•์ด๊ณ  2147483647 ์ด์ƒ์˜ ์ˆ˜๋Š” 
                ์ˆซ์ž๋กœ ๋ณด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.๊ทธ๋ž˜์„œ ๋์— L์„ ์“ฐ๋ฉด int๊ฐ€ ์•„๋‹ˆ๊ณ  longํ˜• ๊ฐ’์ด ๋œ๋‹ค.*/
        System.out.println(var4);
        
        long var5 = 10L;
        System.out.println(var5);
        
        //promotion : ์ž๋™ ํ˜•๋ณ€ํ™˜,  cast : ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜
        byte b1 = (byte)128//๊ฐ•์ œ์ ์œผ๋กœ 1๋ฐ”์ดํŠธ์˜ ์ €์žฅ๊ณต๊ฐ„์— ์ €์žฅ๊ณต๊ฐ„ ์ด์ƒ์˜ ๊ฐ’์„ ์ฃผ๋ฉด ๊ฒฐ๊ณผ ๊ฐ’์ด ์ด์ƒํ•˜๊ฒŒ ๋‚˜์˜จ๋‹ค (-128)
        byte b2 = (byte)12;//์›์น™์ ์œผ๋กœ๋Š” ์ด๊ฒŒ ๋งž๋‹ค ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ๋Š” (byte)๋ฅผ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ž๋™์œผ๋กœ promoteํ•ด์ค€๋‹ค. ๊ทธ๋ž˜์„œ ์•ˆํ•ด๋„ ๋œ๋‹ค.
        byte b3 = b2;
        
        System.out.println(b1);
        System.out.println(b2);
        System.out.println(b3);
        
        short s1 = 10// = (short)10; 2byte๊ฐ€ 4bytes์— ๋“ค์–ด๊ฐ€๋Š”๊ฒƒ์€ promotion์˜ ๊ฐœ๋…
        int i1 =  s1;
        System.out.println(i1);
        short s2 = (short)i1; // 4bytes์˜ ๊ฐ’์ด 2bytes ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์—†์ง€๋งŒ ๊ฐ•์ œ๋กœ ๋„ฃ์–ด์ฃผ๋Š” ๊ฒƒ์ด casting ๊ฐœ๋…. (์ž˜๋ชป๋œ ๊ฐ’์ด ๋‚˜์˜ฌ์ˆ˜ ์žˆ์ง€๋งŒ ๋„˜์–ด๊ฐ)
        System.out.println(s1);
        
        System.out.println("์‹ค์ˆ˜์ฒ˜๋ฆฌ-------");
        double d1 = 10.0;
        d1 = 5//์‹ค์ˆ˜ํ˜•์€ ์ •์ˆ˜ํ˜• ์ž์œ ๋กญ๊ฒŒ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ (promotion)
        System.out.println(d1);
        d1 = 56.7;
        
        float f1 = 3.5F;//๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์ˆ˜๋Š” int ์‹ค์ˆ˜๋Š” double, 3.5๋ฅผ float๋กœ ์ €์žฅ ์‹œ์ผœ๋ผ
        f1 = (float)3.5//doubleํ˜•์„ float ๊ธฐ์–ต์žฅ์†Œ์— ๊ฐ•์ œ๋กœ ๊ธฐ์–ต์‹œ์ผœ๋ผ
        System.out.println(f1);
        
        int i2 = (int)3.5//๋ฒ„๋ฆผ - ๊ฒฐ๊ณผ๊ฐ’์ด 3์œผ๋กœ ๋‚˜์˜ด
        System.out.println(i2);
        
        //์—ฐ์‚ฐ ์‹œ ํฐ ํƒ€์ž…์œผ๋กœ ์ž๋™ ๋ณ€ํ™˜๋จ
        //double result = 4.5 * 10; //int 10์ด ๋” ํฐ double 4.5์™€ ๊ฐ™์ด double๋กœ ๋ณ€ํ™˜์ด ๋˜์–ด double์˜ ๊ฐ’์„ ๊ณ„์‚ฐ ์ˆ˜ํ–‰
        //int result = (int)4.5 * 10;
        double dd = 5.5;
        int result = (int)4.5 * (int)dd; //๊ฒฐ๊ณผ๋Š” 4.5=> 4 * 5.5=> 5 ๊ทธ๋ž˜์„œ 20์ด ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ๋‹ค.
        System.out.println("result : " + result);
        
        
        System.out.println();
        boolean bu1 = true;
        bu1 = false;
        System.out.println(bu1);
        
        System.out.println();
        char c1 = 'a';
        // c1 = 'abc' ๋ฌธ์ž์—ด์€ ๋ชป๋“ค์–ด๊ฐ
        // c1 = "a;" ๋ฌธ์ž์—ด๋งŒ ํฐ๋”ฐ์˜ดํ‘œ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์Œ. ๋ฌธ์ž๋Š” ''๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ
        System.out.println(c1 + " " + (int)c1 + " " + (char)97); //a๋Š” ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์œผ๋กœ 97์ž„์œผ๋กœ ๊ฒฐ๊ณผ๋Š” a 97๋กœ ๋‚˜์˜ด
        //์•„์Šคํ‚ค ์ฝ”๋“œ a = 97, A = 65, Enter = 13+10 ์•„์Šคํ‚ค ์ฝ”๋“œ๋ฅผ ๋ฐฐ์›Œ๋ผ
        
        System.out.println("๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ : String ๊ฐ์ฒด - ์ฐธ์กฐํ˜•");
        String irum = "ํ™๊ธธ๋™";
        System.out.println(irum);//์ด๊ฒƒ์€ ์ •์ƒ ๋˜๋Š” ๊ธฐ๋ณธํ˜•์ด ์•„๋‹˜... "์ฐธ์กฐํ˜•" ๊ธฐ์–ต์žฅ์†Œ ํ˜•ํƒœ์ด๋‹ค.
        //JAVA์—์„œ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์€ Class ๋ฐ–์— ์—†์Œ....
    }
}
 
cs


๋ฐ˜์‘ํ˜•