※해당 글은 신용권님의 혼자 공부하는 자바의 책으로 공부하며 참고한 글입니다.
자바
에는 정수, 실수 논리값을 저장할 수 있는 기본 타입을 제공한다.
정수 타입을 저장 할 수 있는 byte, char, short, int, long
실수 타입을 저장 할 수 있는 float, double
마지막으로 논리 타입을 저장할 수 있는 boolen이 있다.
정수(int) 타입
정수 타입이란 1, 10, 100, -100과 같은 음수를 포함한 정수를 포함하고,
실수 타입은 0.12, 3.14, -4.12와 같은 소수를 포함하며,
논리 타입은 참(True)과 거짓(Flase)을 판별하는 값을 포함한다.
같은 정수 혹은 실수 타입인데 종류가 많은것은 각 타입별로 저장할 수 있는 최대 메모리가 정해져있다.
정수의 경우 byte (1byte, 8bit) < short (2byte, 16bit)< char (2byte, 16bit)< int (4byte, 32bit)< long (8byte, 64bit)
순으로 커진다.
char 타입은 특수하게 저장 범위가 유니코드여서 음수 값을 가질 수 없다.
정수 타입의 변수는 정수 리터럴만, 실수 타입은 실수 리터럴만, 논리는 논리 리터럴만 가질 수 있다.
여기서 리터럴이란,
소스 코드에서 프로그래머에 의해 직접 입력된 값(메모리)을 리터럴이라고 부른다.
각자 범위보다 큰 수를 대입하면 컴파일 에러가 나며 사용되는 메모리 값에 맞는 변수를 사용하는 것이 좋다.
//정수 타입 변수 초기화 예시
byte byteNum = 8;
short shortNum = 16;
char charNum = 16;
int intNum = 32;
long longNum = 64L; //long은 정수 리터럴 뒤에 L을 붙여야한다.
문자(char) 타입
하나의 문자를 작은따옴표(')로 감싼 것은 문자 리터럴이다.
문자 리터럴은 유니코드로 변환되어 저장되며 정수타입인 char은 특수하게 저장 데이터값이 유니코드식이기 때문에 문자를 저장할때에는 char 타입을 사용할 수 있다.
//문자
char charcter00 = 'a'; //유니코드 : 65
char charcter01 = '가'; //유니코드: 44032
char charcter02 = '각'; //유니코드: 44033
※문자 리터럴은 유니코드로 변환되기에 int 타입 변수에도 저장할 수 있다만, char 타입의 변수에 저장하면 자동으로 문자로 출력되지만, int에 저장한 문자값은 유니코드로 출력된다.
문자열(String) 타입
String 타입은 기본 타입은 아닌 클래스 타입이다.
작은따옴표로 감싼 문자 하나만 저장할 수 있는 타입이 char이라면 유니코드로 변환되지 않는 문자 또는 여러 개의 문자들은 String 타입의 변수에 저장할 수 있다.
//String
String sentance00 = "Hello World!"
String sentance01 = "A"
- String 타입은 다른 타입과 달리 첫 S를 대문자로 적어야한다.
- String 타입에 들어가는 값은 문자여도 상관없다.
- 문자열(") 사이에는 주석이 있을 수 없다.
- 문자열("..."사이)에서 따옴표를 사용하기 위해서는 이스케이프 문자를 사용해야한다.
이스케이프 문자란 \를 사용하여 출력을 제어하는 문자이다.
이스케이프 문자 | 출력 용도 |
\t | 탭만큼 띄움 |
\n | 줄바꿈 |
\r | 캐리지리턴 |
\" | " 출력 |
\' | ' 출력 |
\\ | \ 출력 |
\u16진수 | 16진수 유니코드에 해당하는 문자 출력 |
실수(float) 타입
실수 타입에는 float와 double이 있다.
float은 4byte 32bit - 소수점 아래 7자리 까지
double은 8byte 64bit - 소수점 아래 15자리 까지
메모리 사용 크기가 정해져있다.
자바는 실수 리터럴을 기본적으로 double 타입으로 해석한다.
따라서 일반적으로 실수는 double 타입에 저장해줘야 하며, float에 저장할 때는 저장하는 실수 리터럴 값 뒤에 f를 붙여야 한다.
//example code
double doubleNum = 3.14;
float = floatNum = 3.14f;
논리(blooen) 타입
참과 거짓을 의미하는 논리 리터럴로 true와 flase가 있다.
논리 리터럴의 크기는 각각 1byte이며 아래와 같이 사용할 수 있다.
//example code
boolen go = true;
boolen stop = flase;
boolen act = go;
if (act == true) {
System.out.println("나아갑니다.")
} else{
System.out.println("멈춥니다.")
}
//출력 결과: 나아갑니다.
조건문 혹은 반복문에 자주 쓰인다.
읽어주셔서 감사합니다.(x_x)
'📖혼자공부하는자바' 카테고리의 다른 글
Chapter 02-4 변수와 시스템 입출력 (0) | 2022.11.10 |
---|---|
Chapter 02-3 타입 변환 (0) | 2022.11.08 |
Chapter 02-1 변수 (0) | 2022.11.08 |
Chapter 01-2 자바 프로그램 개발 과정 (0) | 2022.11.07 |
Chapter 01-1 프로그래밍 언어와 자바 (0) | 2022.11.07 |