Java -데이터 타입

2020. 6. 13. 15:34Java

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
public class Ex {
 
    public static void main(String[] args) {
        /*
         * 데이터타입
         * - 기본 데이터타입(기본형 = Primitive Type) 과 참조 데이터타입(참조형 = Reference Type)
         * - 기본 데이터타입 8가지
         * -----------------------------------------------------
         *         1Byte        2Byte        4Byte        8Byte
         * -----------------------------------------------------
         * 정수형   byte        short        int          long
         * 실수형                            float        double
         * 논리형   boolean
         * 문자형               char
         * 
         * 
         * < 정수형 표현 범위 >
         * byte(1Byte = 8bit) : 2^8 = 256가지 = -128 ~ +127
         * short(2Byte = 16bit) : 2^16 = 65536 = -32768 ~ +32767
         * int(4Byte = 32bit = 기본형) : 2^32 = -21억 ~ +21억
         * long(8Byte = 64bit) : 2^64 = -922경 ~ +922경
         * 
         */
        
        System.out.println(2147483647); // 정수에 아무런 표시를 하지 않으면 int 형으로 취급되며
//        System.out.println(2147483648); // int형의 표현 범위를 벗어난 정수는 사용 불가
        System.out.println(2147483648L); // long형으로 표현하기 위해 접미사 L 붙임
        
        byte b = 100;
        System.out.println(b);
        
        b = 127;
//        b = 128; // 오류 발생! byte 타입 변수에 저장 가능한 정수는 -128 ~ 127 까지
        
        
        short s = 128;
//        s = 32768; // 오류 발생! short 타입 범위 -32768 ~ 32767 까지
        
        int i = 32768;
        i = 2147483647;
//        i = 2147483648; // 오류 발생! 정수에 접미사가 없으면 int형(2147483647 까지만 표현 가능)
//        i = 2147483648L; // 오류 발생! long 형 데이터는 int형 변수에 저장 불가
        
        long l = 2147483648L;
        
        // 실수형의 기본 데이터타입은 double 형이므로
        // double 형 데이터를 float 타입 변수에 저장 불가
//        float f = 3.14; // 오류 발생
        float f = 3.14F; // 접미사 F 필요함
        
        double d = 3.14;
        
        
        // ----------------------------------
        System.out.println(1234); // 10진수 정수
        
        // 접두사 0b 를 붙이면 2진수 정수로 취급됨
//        System.out.println(0b1234); // 2진수가 아닌 숫자 사용 불가
        System.out.println(0b1010); // 2진수 1010 = 10진수 10
        
        // 접두사 0 을 붙이면 8진수 정수로 취급됨
        System.out.println(0567); // 8진수 567
//        System.out.println(05678); // 8진수가 아닌 숫자 사용 불가
        
        // 접두사 0x 를 붙이면 16진수 정수로 취급됨
        System.out.println(0xFF); // 16진수 FF = 10진수 255
//        System.out.println(0x1G); // 16진수가 아닌 숫자 사용 불가
        
        // -----------------------------------------------------
        // boolean 형 : true 와 false 만 사용 가능
        boolean bool = true;
//        bool = TRUE; // 대문자 사용 불가
//        bool = 1; // 정수로 대체 불가
        
        /*
         *  < 문자형(char) 표현 범위 >
         * char(2Byte = 16bit) : 2^16 = 65536가지 = 0 ~ 65535
         * => 문자를 나타낼 때 작은 따옴표 '' 로 1개의 문자를 둘러싸서 표현
         *    내부적으로 정수형으로 변환되어 처리됨
         */
        
        char ch = 'A';
        System.out.println(ch);
        
//        ch = 'AB'; // 작은따옴표 사이에는 1개의 문자만 사용 가능
//        ch = ''; // 작은따옴표 사이에는 반드시 1개의 문자 필수!
        ch = 65// 10진수로 지정해도 문자 표현 가능
        System.out.println(ch);
        
        ch = '\u0041'// \ 기호와 u 를 조합하여 뒤에 4자리 16진수 표현 시 유니코드로 취급됨
        System.out.println(ch);
        ch = '\uAC00';
        System.out.println(ch);
        ch = '\'';
        
        System.out.println("--------------------------------");
        
        String s = "Hello, World!";
        System.out.println(s);
        
        s = ""// 문자열은 널스트링(null string) 표현이 가능
        s = "A";
        System.out.println(s);
        
        System.out.println("Hello, \n World!");
        System.out.println("'H'ello \"Java\" World");
        
        
        
    }
 
}
 
cs

데이터 타입의 종류에 대해서 배우는 시간이었다. 기억이 새록새록 다시 나기 시작되는 것 같다. 하나도 지루할 틈이 없이 하루하루가 지나가고 있다. \ (백 슬레쉬) 기능이 새로웠고, 잊어버리지 않게 잘 알아 두어야겠다.