기본 타입
자바는 정수, 실수, 논리값을 저장할 수 있는 기본 타입을 제공한다.
자바가 제공하는 기본 타입은 총 8개이다.
기본타입 | 정수타입 | byte, char, short, int, long |
실수타입 | float, double | |
논리타입 | boolean |
1. 정수타입
자바에서 정수타입은 총 5개이다.
char 타입은 음수 값을 가질 수 없다. 정수 타입으로 선언된 변수에는 정수 리터럴을 대입해서 정수를 저장할 수 있다.
정수리터럴이란, 소스 코드에서 프로그래머에 의해 직접 입력된 값을 리터럴이라고 한다.
기본적으로 컴파일러는 정수 리터럴을 int 타입으로 간주한다.
그래서 정수 리터럴이 int 타입 허용 범위를 초과할 경우, long 타입임을 컴파일러에게 알려주어야 한다.
타입 | 메모리 사용 크기 |
byte | 1byte - 8bit |
shrot | 2byte - 16bit |
char | 2byte - 16bit |
int | 4byte - 32bit |
long | 8byte - 64bit |
long balance = 3000000000L; //long 타입으로 정수 허용 범위를 확장해 줄 수 있다.
char 타입
하나의 문자를 작은 따음표(')로 감싼 것을 문자 리터럴이라고 한다. 문자 리터럴은 유니코드로 변환되어 저장된다.
유니코드는 세계 각국의 문자를 2byte로 표현할 수 있는 숫자로 매핑한 국제 표준 규약을 의미한다.
자바는 이러한 유니코드를 저장할 수 있도록 2byte 크기인 char 타입을 제공한다.
char var1 = 'A'; // 유니코드 65
char var2 = 'B'; // 유니코드 66
char var3 = '각'; // 유니코드 44032
char var4 = '가'; // 유니코드 44033
유니코드는 정수이므로 char로 정수 타입에 속한다.
그래서 char 변수에 작은 따음표로 감싼 문자가 아니라, 10진수 또는 16진수 형태로 유니코드를 정정할 수 있다.
char c = 65; //10진수
char c = 0x0041; //16진수
문자 리터럴을 int 타입에 저장할 경우
작은 따옴표로 감싼 문자 리터럴은 유니코드로 변환되기 때문에 int 타입변수에도 저장할 수 있다.
char 타입 변수에 저장하면 자동으로 문자가 매핑되어 출력되지만, int 타입 변수에 저장하면 유니코드 자체가 출력된다.
char var1 = 'A';
int var2 = 'A';
System.out.println(var1); //A를 출력
System.out.println(var2); //65를 출력
Public class charExam {
Public static void main(Stirng[] args) {
char c1 = 'A'; //문자를 직접 저장
char c2 = '65'; //10진수로 저장
char c3 = '\uac00'; //16진수로 저장
char c4 = '가'; //16진수로 저장
char c5 = '44032'; //10진수로 저장
char c6 = '\uac00'; //16진수로 저장
}}
String 타입
작은 따옴표 (')로 감싼 문자는 char 타입 변수에 저장되어 유니코드로 저장되지만, 큰 따옴표(")로 감싼 문자 또는 여러 개의 문자들은 유니코드로 변환되지 않는다.
자바에서 큰 따옴표(")로 감싼 문자들은 문자열이라고 부른다. 문자열 리터럴을 구별하는 따옴표(")는 컴파일러가 문자 리터럴과 문자열 리터럴을 구별하는 기호로 사용된다.
문자열을 변수에 저장하고 싶다면 다음과 같이 Sring 타입을 사용해야 한다.
잘못된 예
char var 1 = "A";
char var2 = "홍길동";
올바른 예
string var1 = "A";
string var2 = "홍길동";
이스케이프 문자
문자열 내부에 역슬래시(\)가 붙은 문자를 사용할 수 있는데, 이것을 이스케이프 문자라고 한다.
이스케이프 문자를 사용하면 문자열 내부에 특정 문자를 포함 시킬 수 있다.
예를 들어 큰 따음포(")는 문자열 식별 기호인데 데이터로써 큰 따음표를 사용하고 싶을때는 이스케이프 문자 \"를 사용한다.
이스케이프 문자 | 용도 |
\t | 탭 만큼 띄움 |
\h | 줄 바꿈 |
\r | 캐리지리턴 |
\" | "출력 |
\' | '출력 |
\\ | \출력 |
\u16진수 | 16진수 유니코드에 해당하는 문자 출력 |
자료 출처 : 신용권, 『혼자 공부하는 자바』, 한빛미디어(2019)
'프로그래밍 > Java' 카테고리의 다른 글
Java 공부_기본 개념 및 용어 2 (0) | 2022.09.18 |
---|---|
Java 공부 _기본 개념 및 용어 1 (0) | 2022.09.18 |