차곡차곡 성 쌓기

자바의 데이터 타입

▶︎ 기본 타입 (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
profile

차곡차곡 성 쌓기

@nagrang

포스팅이 좋았다면 "좋아요" 해주세요!