IT 개발노트
변수의 타입 본문
1. 변수의 타입
- 변수의 타입은 저장할 값의 타입에 의해 결정된다.
int age = 25; // 정수타입 변수 선언, 정수를 저장해서 정상작동
age = 3.14; // 정수타입 변수에 실수를 저장하면 에러발생
- 저장할 값의 타입과 일치하는 타입으로 변수를 선언
char ch = '가'; // char는 문자 타입
double pi = 3.14; // double은 실수 타입
2. 값의 타입
값(data) 문자 - char
숫자 - 정수 - byte, short, int, long
- 실수 - float, double
논리 - boolean - true, false
3. 기본형과 참조형
- 기본형(Primitive type)
: 오직 8개 (boolean, char, byte, short, int, long, float, double)
-> 실제 값을 저장
- 참조형(Reference type)
: 기본형을 제외한 나머지(String, System 등)
-> 메모리 주소를 저장(4byte 또는 8byte)
Date today; // 참조형 변수 today를 선언
today = new Date(); // today에 객체의 주소를 저장
4. 기본형(Primitive type) - 종류와 크기
- 논리형 : true와 false중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용된다.
- 문자형 : 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.
- 정수형 : 정수 값을 저장하는데 사용된다. 주로 사용하는 것은 int와 long이며, byte는 이진 데이터를 다루는데 사용되며, short는 c언어와의 호환을 위해 추가되었다.(잘 안쓰임)
- 실수형 : 실수 값을 저장하는데 사용된다. float와 double이 있다.
변수(variable) : 하나의 값을 저장하기 위한 공간 // 변경 가능
상수(constant) : 한 번만 값을 저장 가능한 변수// 변경 불가능
리터럴(literal) : 그 자체로 값을 의미하는 것
int score = 100;
score = 200; // 변수의 값을 변경
final int MAX = 100; // MAX는 상수
MAX = 200; // 에러발생
5. 변수와 리터럴의 타입 불일치
- 범위가 '변수 > 리터럴' 인 경우, OK
int i = 'A'; // int > char // A의 값인 65가 저장됨
- 범위가 '변수 < 리터럴' 인 경우, 에러발생
int i = 30_0000_0000; // int의 범위를 벗어남
- byte, short 변수에 int리터럴 저장가능
byte b = 100; // OK. byte의 범위(-128~127)에 속함
byte b = 128; // 에러. byte의 범위를 벗어남
6. 문자와 문자열
char ch = 'A';
char ch = 'AB'; // 에러
String s = "ABC"; // 문자열
String s = ""; // 빈 문자열
char ch = ''; // 에러
String s = "A" + "B"; // "AB" 저장
String s = "" + 7; // "" + "7" -> "7" 저장
String s = "" + 7 + 7; -> "7" + 7 -> "7" + "7" -> "77"저장
String s = 7 + 7 + "" -> 14 + "" -> "14" + "" -> "14"저장
String은 자바의 클래스지만 자주 사용하기 때문에 객체를 생성하지 않고도 사용할 수 있도록 허용한 것.
'기초튼튼 > JAVA' 카테고리의 다른 글
연산자(Operator) (0) | 2019.05.30 |
---|---|
형식화된 출력과 화면 입력(printf() 와 Scanner) (0) | 2019.05.29 |
변수(variable)란? (0) | 2019.05.27 |
JavaAPI 문서의 설치와 사용법 (0) | 2019.05.24 |
해싱, 해시함수, 해시테이블 (0) | 2019.05.03 |