2. 변수의 종류(기본형, 참조형)와 데이터 형변환
1. 기본형 타입(Primitive Type)
1.1 정수형(byte, short, int, long)
-- 자바에서 정수형의 기본타입은 int 이다.
-- 그러므로 정수형의 값이 -2,147,483,648 ~ 2,147,483,647 범위를 벗어난 것이라면 반드시 숫자뒤에 소문자 l 또는 대문자 L 을 붙여야 한다.
byte (1byte == 8bit) : -2^7 ~ 2^7-1 ==> -128 ~ 127
short(2byte == 16bit) : -2^15 ~ 2^15-1 ==> -32,768 ~ 32,767
int (4byte == 32bit) : -2^31 ~ 2^31-1 ==> -2,147,483,648 ~ 2,147,483,647
long (8byte == 64bit) : -2^63 ~ 2^63-1 ==> -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
1.2 실수형(float, double)
float(4byte) : 단정밀도 소수점이하 7자리까지 표현됨. 135.3246235
double(8byte) : 배정밀도 소수점이하 15~16자리까지 표현됨. 135.3246234502345642
-- 자바에서 실수형의 기본타입은 double 이다.
그러므로 실수값을 float 형태로 나타내기 위해서는 실수뒤에 반드시 소문자 f 또는 대문자 F를 붙여야 한다.
1.3 문자형(char)
char : 자바는 유니코드 체계를 사용하므로
문자형 타입인 char 는 2byte 이며, 범위는 0 ~ 65535 이다.
그래서 char 타입에는 문자 1개 또는 숫자(0~65535)도 올 수 있다.
*UNICODE 표 참조
http://www.tamasoft.co.jp/en/general-info/unicode.html
★
int(4byte) 아래의 크기인 byte(1byte), short(2byte), char(2byte) 타입이
사칙연산(+ - * /)을 만나면 자동적으로 int 타입으로 자동 형변환이 발생된다.(아래 4번에 자세히)
-kor+eng+math ==> 자동적으로 int 타입으로 형변환(casting)됨
-(short)(kor+eng+math) ==> 강제형변환(casting)
1.4 참(true) 또는 거짓(false)을 담아주는 boolean 타입 -- 크기가 1byte 이다.
2. 참조형 타입(Reference Type)
--> 클래스 객체(==object ==instance) 타입
--> 메모리상에 저장되어진 객체의 메모리 주소를 참조하는 것이다.
--> 참조형 타입(Reference Type) 메모리상에 크기는 4byte 를 차지한다.
--> 자바에서는 참조형 변수 간의 연산이 불가능하므로, 실제로 연산에서 사용되는 것은 모두 기본형 변수
3.변수의 명명규칙
1. 변수명의 길이에는 제한이 없다.
2. 대,소문자 구분이 있다.
3. 첫글자가 숫자는 안된다.
4. 특수문자는 '_' 와 '$' 만 사용이 가능하다.
5. 예약어(예 package, import, public, class, String, int, float ....)는 변수명으로 사용불가하다.
6.<권장사항이지 규칙은 아니다> 첫글자는 소문자로 시작하고 단어와 단어가 결합된 경우이라면 두번째 단어는 대문자로 시작하는것이 일반적이다.
4. 데이터 형변환
1. 자동 형변환(묵시적 형변환)
--> 데이터타입의 크기가 작은 것에서 크기가 큰쪽으로는 자동적으로 형변환이 발생된다.
byte(1byte) --> short(2byte) --> int(4byte) --> long(8byte)
예: 개미 병아리 강아지 사람
개미집 병아리집 강아지집 안방
float(4byte) --> double(8byte)
--> 정수타입은 실수타입으로 자동형변환이 발생한다.
char(2byte)
--> char타입은 int형으로 자동형변환이 발생한다.
2. 강제 형변환(casting)
--> 데이터타입의 크기가 큰것을 작은것으로 강제적으로 형변환 시키는 것을 말한다.
=>크기가큰타입 = (크기가큰타입)크기가작은타입
-->실수를 정수로 강제적으로 형변환하는 것을 말한다.
소수부는 무조건 절삭을 해버리고 정수만 나온다.
정수 = (정수)실수