반응형
dackyy
대기의 연대기
dackyy
전체 방문자
오늘
어제
  • 분류 전체보기 (49)
    • java (7)
    • 코딩테스트 (23)
    • python (10)
    • Network (2)
    • Web (7)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자료형
  • 산술 연산자
  • 배열생성
  • 시프트 연산자
  • SSL
  • switch
  • 제어문
  • 논리 연산자
  • 연산
  • 반복문
  • 비교 연산자
  • 기본 자료형
  • 비트 연산자
  • 배열
  • https
  • java
  • TLS
  • 증감 연산자
  • 참조 자료형
  • 조건문

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
dackyy
java

[JAVA] 자바의 자료형 (Data Type)

java

[JAVA] 자바의 자료형 (Data Type)

2022. 7. 9. 14:57
반응형

1. Java Data Type


    자바에는 기본형Primitive Type과 참조형Reference Type이 있습니다.

    일반적인 분류는 다음과 같이 가집니다.

               자료형 자료의 크기 값의 범위
부울대수 (논리형) boolean 1byte true, false
정수 byte 1byte -2^7 ~ 2^7
  short 2byte -2^15 ~ 2^15
  int 4byte -2^31 ~ 2^31
  long 8byte -2^63 ~ 2^63
실수 (부동 소수점형) float 4byte +-(1.4 * 10^-45 ~
3.4 * 10^38)
  double 8byte +-(4.94 * 10^-324 ~ 
1.79 * 10^308)
문자(정수) char 2byte 유니코드 문자
(0~2^16-1)

1. 부울대수 자료형 - boolean

boolean 은 true(참) 과 false(거짓)의 값만 저장할 수 있는 자료형이다. 불리언은 이렇게 2가지 값만 포함할 수 있어 실제로는 1bit 로도 충분하지만, 자료처리의 최소 단위가 바이트이므로 1byte 가 할당되고 나머지 7bit는 사용하지 않는다.

boolean a = true;
boolean b = false;

2. 정수 자료형 - byte, short, int, long 

정수를 저장할 수 있는 4가지 자료형이므로 크기가 각각 1byte, 2byte, 4byte, 8byte 이다.

byte a = 1;
short b = 2;
int c = 4;
long d = 8;
더보기
공간 낭비를 막기위해 여러크기의 자료형을 사용하며 각 자료형에 알맞은 값을 저장한다면 메모리 누수를 막을 수  있다!
자바에서는 대입 연산자를 기준으로 양쪽 자료형이 일치해야하지만, 크기가 작은 자료형을 큰 자료형에 대입하면 컴파일러가 자동 타입변환 을 수행하여 long = int 의 형태를 long = long 형태로 변환 해주므로 자료형을 일치하게 만든다. 단, 큰 자료형에서 작은 자료형으로의 변환은 자동으로 일어나지 않는다.

 

3. 실수 자료형 - float, double

실수도 크기가 서로 다른 2가지 자료형을 제공한다. 매우 넓은 범위의 값을 저장할 수 있다.

자바는 실수 리터럴을 double 자료형으로 인식한다. 단, float를 나타내는 F(또는 f) 를 실수 리터럴 뒤에 붙이면 float 자료형으로 인식한다.

float a = 3.5F; //float형
double b = 3.5; 
double c = 5; //double형
float d = 3.5; //double형

4. 문자 자료형 -char

char 은 문자를 저장하는 자료형으로, 문자를 작은 따옴표(")안에 표기한다. char 자료형은 정수를 저장할 수도 있지만, 앞에서 배운 4가지 정수 자료형과 차이가 있다. char a = 'A'와 같이 작성한다면 변수 a의 공간이 만들어지고, 그 안에 문자가 들어가야 한다. 하지만 메모리에는 문자를 기록할 수 없다. 메모리에는 2진수 값만 저장할 수 있는 공간이기 때문이다.

유니코드 표

비법은 이 유니코를 이용해 저장한다. char 자료형 메모리안은 문자가 아니라 정수가 저장된 형태이므로 char 에 문자에 해당하는 정숫값을 입력해도 똑같은 결과를 얻을 수 있다.

char a = 'A';		// 문자
char b = 65;		// 10진수
char c = 0b1000001;	// 2진수
char d = 00101;		// 8진수
char e = 0x0041;	// 16진수
char f = '\u0041';	// 유니코드


참고문헌 Do it 자바 완전정복

반응형

'java' 카테고리의 다른 글

[JAVA] 야구게임 맞추기  (0) 2022.07.30
[JAVA] 배열의 생성과 자료형  (0) 2022.07.09
[JAVA] 제어문  (1) 2022.07.09
[JAVA] 연산자의 종류  (0) 2022.07.09
[JAVA] 기본 자료형간의 타입변환, 연산  (0) 2022.07.09
    'java' 카테고리의 다른 글
    • [JAVA] 배열의 생성과 자료형
    • [JAVA] 제어문
    • [JAVA] 연산자의 종류
    • [JAVA] 기본 자료형간의 타입변환, 연산
    dackyy
    dackyy

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.