Java

Data Type, n진법

성장코딩 2022. 12. 20. 00:09

< 소스 코드 >

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
 
public class MainClass {
 
    public static void main(String[] args) {
        
        /*
             숫자(상수):
                 2진수(BIN): 0, 1
                 8진수(OCT): 0 ~ 7, 8 -> 10으로 취급  10(10진수) -> 12(8진수) -> 012
                 10진수(DEC) 0 ~ 9
                 16진수(HEC) 0 ~ 9 A B C D E F이고
                         A(10) B(11) C(12) D(13) E(14) F(15)
                 1010 1100 -> 2진수
                 8421 8421 -> 10진수로 바꿀 때
                 A     C    -> 16진수 -> 0xAC (16진수임을 표현할 때 앞에 0x를 붙인다)
             
                 0x000000 -> black
                 0xffffff -> white (ff = 255이므로)
                 
                 0xE5 -> 16진수
                 8421 8421 (E 하나에 8421 5 하나에 8421 대응)
                 1110 0101 -> 2진수
             
             변수(variable):
                 빈통(메모리 공간)에 데이터를 저장할 수 있는 수
                 데이터의 종류도 다양하다
             
         */
        // 데이터를 크게 3종류로 나눌 수 있다.
        // 숫자
        //         정수(byte, short, int, long)
        
        // 자료형(byte) 변수(by) -> 1 byte -> 256개 숫자를 표현
        byte by;
        
        // 대입
        // A = B는 B를 A에 대입! (<- 방향)
        by = 12;
        by = 25;
        // by = 255; -> error 발생한다! 왜냐하면 byte의 8bit 8개 자리의 맨앞은 부호 의미
        // 맨앞이 0이면 양수, 맨앞이 1이면 음수를 표현
        by = -128// 1byte는 -128 ~ 127까지 가능 (255개)
        
        short sh; // 자료형(short) 변수(sh) -> 2byte
        sh = 134;
        
        int i; // -> 4byte
        i = 12345;
        
        long l; // -> 8byte
        l = 1231231231232323L; // L을 붙여줘서 long형으로 인식하게 함
        
        //        실수(소수) (float, double)
        float f; // -> 4byte
        f = 123.456f; // f을 붙여줘서 float형으로 인식하게 함
        
        double d; // -> 8byte
        d = 123.4562312;
        // 실무에서는 double을 많이 사용한다.
        
        // 문자열
        //        문자(char)
        char c; // 2 byte
        c = 'A'// 한 문자만 표현할 때는 작은 따옴표! 큰 따옴표 X
        c = '한';
    
        //        문자열(string) -> (wrapper)class
        String str;
        str = "Hello";
        str = "World";
        
        // 논리(true/false) (boolean)
        boolean b;
        
        b = false// false = 0
        b = true// true = 1
        
        // 변수명 규칙
        int hH;
        int humanHeight;
        // 문법상 어긋나는 것은 없으나 유추가 돼야 한다...!
        
        // 불가
        
        // 1. 숫자가 맨 앞에 오면 안된다: int 1abc;
        // 2. 변수명은 사용할 수 없다: int char;
        // 3. 띄어쓰기 사용해서 사용할 수 없다: int ch sfge;
        
        // 삼가라
        
        // 1. 모두 대문자로 사용하는 것은 안좋다: int ABC;
        // 2. 너무 간단한 변수명은 안좋다: int da;
        
        //많이 사용하는 규칙
        int charPositionXdot; // camel 기법(중간중간 대문자)
        int char_Position_xdot; // _(under bar) 사용 (근데 오류 위험있음)
        int charPosXdot; //너무 길지 않은 길이로
        
        System.out.println(by);
        System.out.println(sh);
        System.out.println("i = " + i);
        System.out.println("l = " + l);
        System.out.println("f = " + f);
        System.out.println("d = " + d);
        System.out.println("b = " + b);
    }
 
}
 
cs

< Console >

Theme. n진법

  • 2진법(BIN): 0, 1
  • 8진법(OCT): 0 ~ 7, 8은 10으로 취급
  • 10진법(DEC) 0 ~ 9
  • 16진법(HEC) 0 ~ 9 A(10) B(11) C(12) D(13) E(14) F(15)

1. 8진법, 16진법의 표기

 - 10을 8진법으로 나타내면, 012 (0을 맨 앞에 써준다) ( 10 = 8^1 * 1 + 8^0 * 2 )

 - 16진법으로 나타낼 때는 앞에 0x를 붙여써준다

 

2. 2진법과 16진법 사이의 변환

 10101100 (2진법)이 있을 때, 4자리씩 16진법으로 변환

 즉, 1010 / 1100으로 나눠 변환

 1010 1100 (2진법)

 8421 8421 (10진법)

 A       C       (16진법)  ----> 0xAC !!

 

Theme. Data Type(자료형)

Data Type 크기
문자형 char 2 byte
정수형 byte 1 byte
short 2 byte
int 4 byte
long 8 byte
실수형 float 4 byte
double 8 byte
논리형 boolean 1 byte

- 1byte = 8bit이므로 총 256개의 수를 표현할 수 있다. 주의할 것은 그 범위가 -128 ~ 127이라는 것.

 - long은 수의 끝에 L을 붙이고, float는 f를 붙여 각각 올바르게 인식되도록 한다.

 - char은 작은 따옴표를 사용해야 한다.

 

Theme. 변수명 규칙

1. 불가능

 - 숫자가 맨 앞에 오면 안된다.

 - 자료형으로 된 변수명은 사용할 수 없다.

 - 띄어쓰기 사용할 수 없다.

 

2. 권장하지 않음

 - 모두 대문자로 사용하는 것

 - 너무 간단한 변수명