[ 변수 ]
1. 변수(Varable)
-변하는 수
-값을 저장할 수 있는 메모리 공간(프로그래밍언어 관점)
2. 변수 선언
변수타입 변수이름;
ex)int age; → age 라는 저장공간 생김
이유: 값(date) 저장할 공간 마련 위해
3-1. 변수 값 저장
int age; //정수타입변수 age (선언)
age = 25; //변수age에 25 대입,저장 (초기화)
→int age = 25; //선언 초기화 한번에
3-2. 변수 초기화
: 변수에 처음 값 저장
int a=1;
int x=0, y=5;
*지역변수(자동 초기화x)는 읽기 전 초기화 필수 나중 자세히
4.변수 값 읽어오기
-필요한 곳에 변수이름 적음
int a=0, b=2; //초기화
a = b + 2;
→ a= 4;
5.변수 명명규칙
-대소문자 구분o 길이제한x
-예약어x
-숫자로 시작x
-특문 '_'와 '$'만 허용
true, True 다른것으로 간주
true(예약어)
[ 상수 와 리터럴 ]
변수 : 값을 저장할 수 있는 메모리 공간
상수 : 변하지 않는 값
리터럴 : 변수에 대입하는 상수, 값 그자체
int score = 100;
final int MAX = 200;
MAX = 100; //에러
[ 데이터 타입 ]
:저장할 값의 타입에 의해 결정
자료형(Data Type)
▸기본형 변수(Primitive Type) : 실제 값 저장 (8개)
| 1byte | 2byte | 4byte | 8byte | |
| 논리형 | boolean | |||
| 문자형 | char | |||
| 정수형 | byte | short | int | long |
| 실수형 | float | double |
•논리형
-boolean : true, false 둘중 하나
•문자형
-char : 문자 한글자
⌙char ch = 'a';
•정수형
-byte(-128 ~ 127)
-short(-32768 ~ 32767)
-int(-20억 ~ 20억)
-long(-800경 ~ 800경)
⌙int 와 구별하기 위해 숫자 뒤에 영문자 L 작성
⌙long num = 10L;
•실수형 (소수점o)
-float(정밀도 소숫점 7자리)
⌙double과 구별하기 위해 숫자 뒤에 F(f)를 작성
⌙float f = 3.2F;
-double(정밀도 소숫점 15자리)
▸참조형 변수(Reference Type) : 주소를 값으로 저장 (4byte or 8byte)
-기본형 제외 나머지 전부 (String, System.. 등)
-클래스이름 변수이름;(클래스가 데이터타입)
-사용자 정의 데이터 타입
[ 기본형 표현범위 ]
1bit : -0 or 1 (2개)
2bit : (2²개)
| 0 | 1 |
→n bit로 표현 값의 개수 : 2ⁿ
→n bit로 표현 부호없는 정수 범위 : 0~(2ⁿ-1) //0포함해야해서 1뺌
→n bit로 표현 부호있는 정수 범위 : -2ⁿ-¹ ~ (2ⁿ-¹ -1)
▸1byte = 8bit
| S | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
→ -2⁷ ~ (2⁷ -1)
→ -128 ~ 129
* 맨왼쪽 1bit은 부호비트(Sign bit)로 0: 양수 1:음수 값의 부호 나타냄
▸short = 2byte
→-2¹⁵ ~ (2¹⁵ -1)
→-32768 ~ 32767
▸char = 2byte (부호x)
→0 ~ (2¹⁶ -1)
→0 ~ 65535
▸int = 4byte
→-2³¹ ~ (2³¹ -1)
→-20억 ~ 20억 이건 그냥 외워두자
▸long = 8byte
→-2⁶³ ~ (2⁶³ -1)
→-800경 ~ 800경
*진짜 만약 800경 넘는 수 다뤄야 한다면 Big Integer
'Java' 카테고리의 다른 글
| [Java] Scanner, Math.round(), Math.random() (0) | 2023.12.08 |
|---|---|
| [Java] printf()의 지시자 (0) | 2023.12.08 |
| [Java] 문자,문자열 결합과 두 변수 바꾸기 (0) | 2023.12.08 |
| [Java] 타입불일치와 형변환 (0) | 2023.12.05 |
| [Java] JAVA 개요 (0) | 2023.12.04 |