
오늘은 자바에서 쓰는 자료형과 형변환에 대해 정리했다.
상수
- 정수형 상수 - ex) 10, 20, -60
- 실수형 상수 - ex) 1.2 , 3,14321
- 문자형 상수 - ex) 'A', 'B'
- 문자열 상수 - ex) "ABCD", "A"
- 논리형 상수 - ex) true, false
- 상수변수 : final 변수는 변수이름을 대문자로 지정한다.
final boolean BOOL = true;
- 아스키코드 (ASCII CODE) : 1byte , 대.소문자, 숫자, 공백, 특수문자 'A' -> 65 | 'a' -> 97
System.out.printf("%c%c\n", 'A','B'); //-> AB
System.out.println('A'+'B'); //-> 131
System.out.println(""+'A'+'B'); //-> AB
char ch = 'A';
ch = 65; // 65를 할당해도 ch는 char타입이므로 문자에 맞게 출력된다.
System.out.println("문자 : " + ch); // -> 문자 : A
- 유니코드 (UNI CODE) : 2byte, 한글, 중국어 등 아시아권 문자는 1byte 체계로 표현불가.
** 자바는 유니코드 체계의 언어이다.
유니코드('\u') 값은 16진수로 표현해야 한다.(16진수 4개필요)

char ch = 'A';
ch = 65; // 65를 할당해도 ch는 char타입이므로 문자에 맞게 출력된다.
ch = '\u0041'; // 유니코드(16진수 4자리)
ch = '\uAC00';
System.out.println("문자 : " + ch); //-> 문자 : 가
형변환
- 형변환을 통해 char ch일때, 잠시 정수형으로 인식하게 할 수 있다. (논리형은 불가)
char ch = 'a';
System.out.println((int)ch); // (int)를 붙여준다.
- 연산을 위해서는 기본적으로 데이터타입을 맞춰주어야 한다.
- 자료형의 크기 비교
byte < short < int < long < float < double char < int < long < float < double |
- 연산자를 기준으로 좌.우의 변수의 형이 다를 때 사용한다. 강제적형변환과 묵시적형변환 2종류가 있다.
* 묵시적 형변환 : 두 데이터의 자료가 다를 때 따로 표기가 없으면 큰수를 따라간다.
System.out.println('A'+20); //-> 85 (따로(int) 안붙여도 'A'는 int를 따라간다.)
System.out.println(12.3+45); //-> 57.3 (double을 따라간다.)
double num = /*(double)*/ 12;
: 대입 시, 실수는 정수를 포함하므로 double 생략가능
* 강제적 형변환 : 반드시 타입을 명시해야한다.
int num2 = (int)12.34; // 이 경우에는 정수형임을 반드시 명시해야한다.
- 인코딩방식 (메모리에 차이가 있다.)
* EUC-KR : 유니코드 기반 [ 한글 1자를 2byte형태로 인식 ]
* UTF-8 : 한글 1자를 3byte형태로 인식
'Java' 카테고리의 다른 글
[Java 기초 공부 06] 문자열02 (0) | 2021.03.22 |
---|---|
[Java 기초 공부 05] 문자열01 (0) | 2021.03.21 |
[Java 기초 공부 04] 연산자 (0) | 2021.03.20 |
[Java 기초 공부 02] 자바 기본 명령어 (0) | 2021.03.18 |
[Java 기초 공부 01] 자바 기본 지식 정리 (0) | 2021.03.17 |