[JAVA] 변수 - Variable

Hyeon Sung Jang·2022년 9월 23일
0
post-thumbnail

변수(Variable)

값을 저장할 수 있는 공간

변수의 타입

변수의 타입은 크게 기본형과 참조형으로 나뉜다.

변수의 기본형 타입(Primitive type)

총 8개의 기본형 타입이 있다.

  • 논리형 = boolean (1byte)
  • 문자형 = char (2byte)
  • 정수형 = byte (1byte), short (2byte), int (4byte), long (8byte)
  • 실수형 = float (4byte), double (8byte)

변수의 참조형 타입(Reference type)

기본형을 제외한 나머지 타입

  • 예를 들어 String, System 등등
  • 참조형 변수에는 객체의 주소를 저장한다. (4byte)

변수 선언시 용어 정리

  • 변수(variable) = 값을 저장하기 위한 공간
  • 상수(constant) = 한번만 값을 저장할 수 있는 공간 (변경 불가)
  • 리터럴(literal) = 그 자체로 값을 의미하는 것
int score = 100; // score는 변수, 100은 리터럴, 타입은 int
final int MAX = 200; // MAX는 상수, 200은 리터럴, 타입은 int
String str = "ABC" // str은 변수, "ABC"는 (객체)리터럴, 타입은 String

변수의 기본값

변수의 각 타입들은 각자의 기본값을 가진다.

  • boolean = flase
  • char = '\n0000' = ' ' = 공백
  • byte = 0
  • short = 0
  • int = 0
  • long = 0
  • float = 0.0f
  • double = 0.0
  • 참조형 변수 = null

기본형 타입의 형변환(Casting)

값의 타입을 다른 타입으로 변환시키는 것을 말한다.

  • boolean을 제외한 7개의 기본형 타입은 서로 형변환이 가능하다.

byte > short > int,char > long > float > double

  • 왼쪽에서 오른쪽으로 형변환 시 타입 생략 가능
  • 오른쪽에서 왼쪽으로 형변화 시 타입 생략 불가능
int i1 = 65;
char ch1 = (char)i1; // 'A' (유니코드 65는 A이다.)

char ch2 = 'A';
int i2 = (int)ch2; // 65

int i3 = 10;
long l1 = i3; // 10L (왼쪽(int)에서 오른쪽(long)으로 생략 가능)
float f2 = l1; // 10.0f (외쪽(long)에서 오른쪽(float)으로 생략 가능)

float f3 = 20.0f;
long l2 = (long)f3; // 20L (오른쪽(float)에서 왼쪽(long)으로 생략 불가능)
int i4 = (int)l2; // 20 (오른쪽(long)에서 왼쪽(int)으로 생략 불가능)

문자(char)와 문자열(String)

기본형 타입은 String(문자열) 타입과 "+"연산을 하면 String(문자열)이 된다.

char ch1 = 'A';
String str1 = "BB";
System.out.println(ch1 + str1); // "ABB"

문자(char)에는 빈문자 리터럴로 초기화 할수 없다.

char ch2 = ''; // Error! 빈문자 리터럴 불가능
char ch3 = ' '; // OK! 공백은 가능하다.

0개의 댓글