[스파르타 코딩] 자료형 - Java

김동현·2022년 8월 21일
0
  • 자료형이 필요한 이유: 메모리 공간의 적절한 사용을 위해 변수를 선언 할 때 자료형을 통해 사용할 메모리 크기와 타입을 구분하게 해준다.

💡기본자료형

자료형타입크기표현 범위
정수형byte1byte-127 ~ +128
정수형short2byte-32,768 ~ + 32,767
정수형int4byte-2,147,483,648 ~ +2,147,483,647
정수형long8byte-9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807
실수형float4byte-3.4E38 ~ +3.4E38
실수형double8byte-1.7E308 ~ +1.7E308
문자형char2byte(unicode)0 ~ +65,535
논리형boolean1bytetrue, false
  • 자료형들의 최소범위는 자료형.MIN_VALUE, 최대범위는 자료형.MAX_VALUE를 통해 알 수 있다. 또는 sizeOf(변수)로도 알 수 있다.

관련 추가내용

  • byte
    • byte a = 'd'를 선언 및 초기화 한 후 출력하면 d가 아닌 100이 출력된다. (아스키코드의 값으로 출력)

  • char
    • char는 1byte인 줄 알고 있었으나 2byte이다. C언어와 같은 프로그래밍 언어는 char형은 아스키코드를 사용하여 1byte이나 java에서 char는 유니코드를 사용하여 2byte이다.

  • char와 short
    • char형과 short형은 둘 다 2byte의 크기를 가지고 있다. 하지만 위 표에서 표현 범위를 보면 short형은 -부터 char형은 0부터 시작되는 것을 알 수 있다.
    • char형은 문자의 코드를 저장하기 때문에 음수를 필요로 하지 않기 때문에 0부터 시작하지만 short형은 정수를 표현해야 하기 때문에 - 부터 시작한다.

  • char와 String
    • 해당 게시물을 작성하기 전 String도 기본 자료형일 것이라고 착각을 하고 있었다. 하지만 String은 자료형이 아닌 class이다. 따라서 char는 소문자로 작성하지만 String은 클래스이기 때문에 첫 번째는 대문자로 작성한다.


💡참조자료형

  • 기본자료형을 제외한 모든 것
  • java의 객체를 가르킬 수 있는 자료형

  • String
    • 클래스를 이용한 참조자료형

  • 배열
    • 동일한 자료형의 데이터를 연속된 공간의 저장하기 위한 자료구조이다.
    • 만약 열명의 학생의 점수를 입력 시 변수를 10개를 선언하지 않고 한 개의 배열을 선언하여 10명 학생의 점수를 담을 수 있다.
    • 배열변수.length를 통해 배열의 길이를 알 수 있다. (+ 참고로 String의 길이는 String변수.length()로 괄호가 추가된다.)
    • 배열의 index는 0부터 시작이므로 끝 값의 인덱스는 배열변수.length -1이다.

배열의 선언 및 초기화

// 배열의 선언, 값을 지정하지 않아 출력하면 아무것도 없다는 의미로 0 또는 null이 출력된다.
int[] arr = new int[5]; 
String[] arr = new String[5];

// 배열의 선언 및 초기화
int[] arr = new int[5] {1, 2, 3, 4 ,5};
int[] arr = {1, 2, 3, 4, 5};

profile
오늘은 오늘

0개의 댓글