passion and relax
[JAVA] 03. 네 변수를 알라 (원시 변수와 레퍼런스) 본문
변수의 종류
. 원시 변수(=primitive variable) : int, float, double과 같은 기본값이 담긴다.
. 객체 레퍼런스(=object reference) : String, !MyClass와 같은 객체에 대한 래퍼런스가 담긴다.
스타벅스 컵 size
. small : 240ml
. tall : 360ml
. grande (그란데) : 480ml
부울과 문자형 원시변수
. boolean : JVM 마다 다름 = true, false
. char : 2의 4승 비트 = 16 비트 = 16비트 = 0 ~ 65535
정수형 원시변수 (unsigned는 없음. 모두 signed)
. byte : 2의 3승 비트 = 8 비트 = 부호비트 + 7비트 = -128 ~ + 127
. short : 2의 4승 비트 = 16 비트 = 부호비트 + 15비트 = -32,768 ~ + 32,767
. int : 2의 5승 비트 = 32 비트 = 부호비트 + 31비트 = -2,147,483,648 ~ + 2,147,483,647
. long : 2의 6승 비트 = 64 비트 = 부호비트 + 63비트 = -9,223,372,036,854,775,808 ~ + 9,223,372,036,854,775,807
. -로 1이 더 있는 이유(byte를 예로) : +0~+127 = 128개, -0~-127 = 128개, 0이 두번이기에 -0을 -128로 사용
실수형 원시변수
. float : 2의 5승 비트 = 32 비트 = 범위가 바뀔 수 있음.
. double : 2의 6승 비트 = 64 비트 = 범위가 바뀔 수 있음.
변수 사용 시, 에러 발생의 예
int x = 24;
byte b = x; //error : 큰컵을 작은컵에 넣으려 하면, 컴파일러는 무조건 넘칠 것으로 예상하고 에러 발생.
클래스명, 메소드명, 변수명
. 첫글자 : 알파벳, 밑줄, 달러기호 (숫자 불가)
. 두번째 부터는 맘데로..
. 예약어 불가 : native, strictfp, synchronized, transient, volatile, assert, goto
'프로그래밍' 카테고리의 다른 글
[JAVA] 05. 메소드를 더 강력하게 (흐름 제어, 연산 등) (0) | 2024.05.20 |
---|---|
[JAVA] 04. 객체의 행동 (객체의 상태가 메소드의 속성에 미치는 영향) (0) | 2024.05.20 |
[JAVA] 02. 객체마을로의 여행 (객체에 대해 알아봅시다) (1) | 2024.05.20 |
[JAVA] 01. 껍질을 깨고 (간단한 소개) (0) | 2024.05.20 |
[JAVA] 배열(Array)을 Set으로 변경 (1) | 2024.03.19 |