IT 개발노트

변수의 타입 본문

기초튼튼/JAVA

변수의 타입

limsungju 2019. 5. 28. 09:22

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