변수타입 변수이름 ;
int cakeNumber;
변수 선언 시 메모리의 빈 공간에 변수타입
에 알맞은 크기의 저장공간 확보
이 저장공간은 변수이름
을 통해 사용 가능
지역변수는 사용되기 전 반드시 초기화 needed
BUT 클래스 변수와 인스턴스 변수는 초기화 생략 가능
1) 대소문자 구분, 길이 제한 X
2) 예약어 사용 X
3) 숫자 시작 X
4) 특수문자는 _
, $
만 사용 가능
1) 클래스 이름 첫 글자는 대문자
자료형 (data type) vs 타입 (type)
1) 기본형 : 저장할 값(data)의 종류 따라서 구분 => 자료형
2) 참조형 : 객체의 주소 저장 => 값이 아닌 객체의 종류(type) 에 의해 구분
(사실상 type이 data type을 포함하는 개념이라 가볍게 읽고 넘어가도 ok)
1) 기본형 (primirive)
2) 참조형 (reference)
`참조변수의 초기화`
Date today = new Date();
리터럴 vs 상수
- 리터럴에 의미있는 이름을 붙인 것이 상수!!
- 리터럴은 그 변수 그 자체!
String str = "!!";
이런 식으로 해도 되고 new 로 만들어줘도 된다.
1) 논리형 : true / false / 기본값은 false
2) 문자형 : char 단 하나의 문자
(ex)
char ch = 'A';
char ch = 65;
=> 동일한 결과
3) 정수형 - byte / short / int / long
4) 실수형 - float / double
형변환 : 변수, 또는 상수의 타입을 다른 타입으로 변환시키기
(타입) 피연산자
큰 타입 ➡ 작은 타입 : 값손실 일어날 가능성 존재
작은 타입 ➡ 큰 타입 : 값 손실 발생 x , 나머지 빈공간은 0 또는 1로 채워져버리기
정수형 ➡ 실수형
- 실수형은 정수형보다 훨씬 큰ㅇ 저장 범위
3-1 ) 정수형을 실수형으로 변환은 무리 x
3-2 ) 실수형을 정수형으로 변환
- 실수형의 소수점 이하 값은 버려진다
자동 형변환의 규칙
- 기존의 값을 최대한 보존할 수 있는 타입으로 자동 형변환
값 손실이 없는 경우!?
- 아까도 썼지만, 작은 아이가 큰 아이로 변하는 것은 값손실이 없다.
- 반대로 큰 아이가 작은 아이로 변하면 값손실 발생
- 따라서 자동형변환은 작은 자료형이 큰 자료형으로 캐스팅 될 때 가능