[Java] 자바 자료형과 변수 완전 정리

·

,

✴︎✴︎✴︎

Java 입문 단계에서 가장 먼저 익히고 넘어가야 할 것은 Java 기본 자료형변수 선언입니다.
이 글에서는 byte, short, int 등 Primitive 타입과 String 같은 참조형(Reference) 타입, 그리고 다양한 리터럴 표기법까지 정리합니다.


1. Primitive 타입

Java의 Primitive 타입 8가지와 각각의 크기·범위·용도를 아래 표에 정리했습니다.

타입크기범위 / 설명
byte1 byte-128 ~ 127
short2 byte-32,768 ~ 32,767
int4 byte-231 ~ 231-1
long8 byte-263 ~ 263-1
float4 byte±3.4×1038 (약 소수점 7자리)
double8 byte±1.7×10308 (약 소수점 15자리)
boolean1 byte*true 또는 false
char2 byte0 ~ 65,535 유니코드 문자

*JVM 구현에 따라 크기가 다를 수 있지만, 개념 이해를 위해 1 byte로 표기합니다.

1.1. 자료형 예시

int age = 30;
long population = 1_400_000_000L; // 접미사 'L' 필수
float pi = 3.14F; // 접미사 'F' 필수
double salary = 1_234_567.89;
boolean isJavaFun = true;
char grade = 'A';
char uniChar = '\u0041'; // 유니코드 직접 지정
  • long: L 또는 l
  • float: F 또는 f
  • char: 홑따옴표('A'), '\n', '\uXXXX' 등 사용

2. Reference 타입 (String 등)

Primitive 외에 나머지 모든 데이터는 참조형입니다.
String, 배열, 사용자 정의 클래스 등이 여기에 해당하며, 변수에는 **객체의 주소(레퍼런스)**가 저장됩니다.

2.1. String 불변(Immutable) 특징

String message = "Hello, Java!";<br>message = message + " World"; // 실제로는 새로운 String 객체 생성

  • String불변이므로, 연결이나 부분 변경 시 새 객체가 생성됩니다.
  • 참조형은 null 할당이 가능하며, **NullPointerException**에 유의하세요.

3. 리터럴 표기법

3.1. 숫자 리터럴

  • 10진수 java복사편집int dec = 123;
  • 16진수 (0x 접두사) java복사편집int hex = 0xFF; // 255
  • 2진수 (0b 접두사) java복사편집int bin = 0b1010; // 10
  • **언더스코어(_)**로 자릿수 구분 java복사편집long cardNum = 1234_5678_9012_3456L;

3.2. 문자열 리터럴

  • 큰따옴표(")로 감싸기 java복사편집String s = "Hello World";
  • 이스케이프 시퀀스
    • \n, \t, \", \\

3.3. 문자 리터럴

  • 홑따옴표(')로 한 글자만 java복사편집char c1 = 'A'; char c2 = '한'; char c3 = '\n';
  • 두 글자 이상은 오류

3.4. 불리언 리터럴

  • true, false 두 값만 허용 java복사편집boolean isActive = false;

4. 실습 팁 및 활용 예제

  • 순환 소수점 오차 체험 java복사편집float f = 0.1F * 10; double d = 0.1 * 10; System.out.println(f); // 1.0에 근사 System.out.println(d); // 1.0에 근사
  • Unicode 범위 출력 java복사편집for (char c = 0; c < 128; c++) { System.out.print(c + " "); }
  • null 체크 연습 java복사편집String s = null; if (s == null) { System.out.println("s는 null입니다"); }

다음 글 보기 ▶ [Java] 자바 연산자와 제어문 완전 정복
(Java 연산자, 비교·논리·증감·복합대입, 흐름 제어문까지 한 번에 정리)

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다