변수
- 변수란?
변수란 단 하나의 값을 정할 수 있는 메모리 공간
- 변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, '변수이름'을 통해서 사용할 수 있음
- 변수의 초기화
- 사용 전 반드시 초기화를 실행
- garbage value가 남아있을 수 있음
- 지역 변수는 반드시 초기화 / 클래스 변수, 인스턴스 변수 초기화 생략 가능
변수의 명명 규칙
1. 대소문자가 구분되며 길이에 제한이 없다
2. 예약어를 사용하지 않는다
3. 숫자로 시작해서는 안 됨
4. 특수문자는 '_'와 '$'만 허용
권장하는 규칙 (coding convention)
1. 클래스 이름의 첫글자는 항상 대문자
2. 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 (파스칼)
3. 상수의 이름은 모두 대문자, 여러 단어로 이루어진 경우 '_'로 구분
- 변수의 타입
- 기본형 변수 : 실제 Data를 저장
- boolean, char, byte, short, int, long, float, double (8종)
- short은 C언어와의 호환을 위해 추가
- int는 CPU가 가장 효율적으로 처리 할 수 있는 타입
- 효율적 실행 보다 메모리 절약을 원하면 , byte 혹은 short 선택
- 참조형 변수 : 주소 저장
- 기본형을 제외한 나머지
- 클래스의 이름 사용 , 객체 주소 가짐 (4byte =>jvm 64bit면 8byte)
- null은 어떤 객체의 주소도 저장되지 않음을 의미
- 자바는 C 언어와 다르게 참조형 변수 간의 연산을 할 수 없음/ 실제 연산에 사용되는 것은 모두 기본형 변수
- 기본형 변수 : 실제 Data를 저장
- 상수와 리터럴
- 상수를 선언과 동시에 초기화 하는 것을 권장, jdk 1.6부터 상수를 선언과 동시에 초기화 하지 않아도 됨. 사용전에만 초기화
- 리터럴
- 변수 : 하나의 값을 저장하기 위한 공간
- 상수 : 값을 한번만 저장할 수 있는 공간
- 리터럴 : 그 자체로 값을 의미하는 것
- 리터럴과 접미사
- jdk 1.7부터 리터럴 중간에 구분자(_)를 사용하여 큰 수를 편하게 읽을 수 있음
- 실수형에는 float 타입을 의미하는 F,f를 붙이고 double은 d,D를 붙임 (d는 생략 가능, 실수형의 기본 자료형은 double)
- 진법
- 비트와 바이트
- 8bit = 1byte
- word는 CPU가 한 번에 처리할 수 있는 데이터 크기 (CPU 성능에 따라 크기가 다름)
- 64 bit 8byte
- 32bit 4byte
- 보수 계산 내용은 생략!
- 기본형
- char : 단 하나의 문자만 저장할 수 있음 (stirng은 char 배열)
- 오버 플로우
- 정수형 최대값 +1 = 최소값 / 최소값 -1 = 최대값
- 정수형과 달리 실수형에서는 오버플로우 발생시 무한대가 됨
- 실수형에는 언더플로우 존재 => 아주 작은 값 즉, 값이 0이 됨
- 자동 형변환의 규칙
- 기존의 값을 최대한 보존 할 수 있는 타입으로 자동 변환
- 비트와 바이트
'JAVA' 카테고리의 다른 글
Java의 정석 Chapter 13 쓰레드 Thread (0) | 2022.07.27 |
---|---|
Java의 정석 Chapter 05 배열 (0) | 2022.07.24 |
Java의 정석 Chapter 03 연산자 + Chapter 04 조건문과 반복문 (0) | 2022.07.24 |
Java의 정석 Chapter 01 자바를 시작하기 전에 (0) | 2022.07.24 |