자료형이란?

 

자료형이란 값의 종류에 따라 값이 저장될 공간의 "크기"와 "저장형식"을 정의한 것을 의미한다.

 

            크기 + 저장형식

int           4        정수

char         2        문자

 

 

자료형의 종류와 크기

 

자료형의 표현 범위가 다르므로 정수 계열에서도 선택해서 사용하는 것이다.

 

 

 

boolean형(논리형)

 

 

-참(true) / 거짓(false) 값만을 가지는 자료형(1byte)

출력서식 %b

 

boolean gender = true;

System.out.printf("성별은 %b입니다.",gender);

 

 

 

기본 자료형 표현 범위

 

 

나이 범위가 최저 1살 ~ 최고 125살 이라고 할때

byte가 아닌 long을 자료형으로 쓰면 처리속도 8배 떨어진다.   ********굉장히 중요한 개념이다.

 

 

 

 

유니코드(unicode)/아스키코드(ASCII)

 

 

유니코드(unicode)가 뭔지 알려면 우선 ASCII(아스키)코드를 알고 있어야한다.

컴퓨터는 0,1 으로 이루어진 2진법 수 밖에 읽지 못한다.

문자코드표에 의해서 문자가 특정 정수값으로 정해지는데 이걸 진법 변환을 통해 검퓨터에 읽히는것이다.

 

ASCII    7비트(128가지 - 알파벳대소문자,숫자,기호) 
확장 ASCII 8비트(256가지)                                       

 

크기 제한으로 인해 ASCII 코드로는 한글, 중국어,일본어 등 세계 각국의 문자 표현 할 수 없었다.

그래서 나온것이 유니코드이다.

 

유니코드 2바이트    65,536가지 표현 가능(한글  40402번째에 등록되어 있다. 완성형 가 ~ 힣)
문자코드표  10진수                     2진수  진법 변환
    'A'           65             [0][0][0][0][0][0][0][0]  [0][1][0][0][0][0][0][1]
    'B'           66             [ ][ ][ ][ ][ ][ ][ ][ ]       [ ][ ][ ][ ][ ][ ][ ][ ]
    'C'           67             [ ][ ][ ][ ][ ][ ][ ][ ]       [ ][ ][ ][ ][ ][ ][ ][ ]

 

'A' - 인코딩 ->   65
    <-디코딩-
인코딩 : 특정 문자값을 유니코드 표에 있는 정수로 변환하는 작업
디코딩 : 정수를 다시 문자값으로 바꿔주는 작업

 

'\u'    :유니코드를 표현하고 싶을때 사용한다.

        10진수    16진수

'A'       65          0x41
'a'       97          0x61

 

 

char one ;

one = '\u0041';

System.out.printf(">한문자 : %c\n",one);                //A  출력된다.

 

char one ;

one = '\u0061';

System.out.printf(">한문자 : %c\n",one);                //a  출력된다.

 

 

 

문자 char 자료형

 

 

크기는 유니코드(unicode) 2byte이다.

char one ;                                         // 1. 변수 선언                     [ ][ ][ ][ ][ ][ ][ ][ ]       [ ][ ][ ][ ][ ][ ][ ][ ]

                                                                                               one이라는 2byte크기 공간이 할당됨

one = 'A';                                         // 2. 값 할당

 

    

---내부과정---

'A'   65 정수     ->   2진수     0000 / 0000 / 0100 / 0001        ---------------------------->        컴퓨터가 인식
                          16진수       0        0       4        1
                                                  0x0041                        

                                16진수를 2바이트로 표현 했을 경우
                                                    0x41                        

                                16진수를 1바이트로 표현 했을 경우

복사했습니다!