자바의 데이터 타입
▶︎ 기본 타입 (8가지)
기본 타입의 크기가 정해져 있다
자바는 플랫폼 독립적인 언어이므로 모든 플랫폼에서 실행될 수 있도록 데이터의 크기가 항상 일정하다. 하지만 C인 경우 CPU의 처리 능력이나 운영체제에 따라 데이터가 차지하는 메모리 크기가 다르다. int형이 2바이트 일수도, 4바이트일 수도 있다는 것이다.
- 논리 타입 : boolean
- 1비트. JVM에 따라 1비트가 아닐수 있다.
- 문자 타입 : char
- 무조건 2바이트, Unicode 사용
- Unicode는 최대 4바이트까지 표현될 수 있지만 UTF-16 인코딩 방식을 사용하여 2바이트로 표현될 수 있기 때문이다.
- 정수 타입 : byte
- 1바이트, -128 ~ 127
- 정수 타입 : short
- 2바이트
- 정수 타입 : int
- 4바이트 (-2³¹~2³¹-1)
- 2³¹ = 2,147,483,648 (약 21억)
- 정수 타입 : long
- 8바이트 (-2⁶³ ~ 2⁶³-1)
- 2⁶³ = 9,223,372,036,854,775,808 (약 92경)
- 실수 타입 : float
- 4 바이트, -3.4E38 ~ 3.4E38
- 실수 타입 : double
- 8바이트, -1.7E308 ~ 1.7E208
- 문자열은 기본 타입이 아니다.
▶︎ 레퍼런스 타입
레퍼런스는 주소는 아니지만 주소와 같은 느낌으로 사용한다. 1개이며 용도는 다음 3가지
- 배열에 대한 레퍼런스
- 클래스에 대한 레퍼런스
- 인퍼페이스에 대한 레퍼런스
자바에서 키 입력
문자열
- 문자열은 기본 타입에 속하지 않으며 JDK에서 제공하는 String클래스를 이용한다.
System.in
- 키보드로부터 직접 읽는 자바의 표준 입력 스트림
- 키 값을 바이트로 자바 응용프로그램에게 리턴
- 자바 응용프로그램이 바이트 데이터를 문자 ('a', '?')로 변환함
Scanner 클래스
- System.in에게 키를 읽게하고, 읽은 바이트를 문자, 정보, 실수 등 다양한 타입으로 변환하여 리턴
- 바이트 스트림을 문자로 변환하여 리턴하는 클래스
- 버퍼의 크기가 1024char이기 때문에 많은 입력을 필요로 하는 것에는 성능이 좋지 않다.
BufferedReader
- 빠른 입력을 위한 라이브러리
- 버퍼의 크기가 8162 char로 Scanner의 버퍼(1024char)보다 약 8배 더 커서 성능이 좋다.
- 개행문자만(\n)을 경계로 인식하고, 입력받은 데이터가 String로 고정된다.
728x90
'CS > 자바' 카테고리의 다른 글
자바 #5 - 생성자와 접근 지정자 (1) | 2024.02.09 |
---|---|
자바 #4 - 객체지향 언어의 특징 (0) | 2024.02.07 |
자바 #3 - 자바의 배열과 예외 처리 (1) | 2024.02.04 |
자바#1 - JAVA의 시작 (JAVA의 태동과 특징) (0) | 2024.02.03 |
Arrays.sort()와 Collections.sort() 차이 (0) | 2024.01.10 |