변수의 타입
- 값의 종류에 따라 저장될 공간의 크기와 저장형식을 정의한 것이 자료형(data type)이며, 문자형/정수형/실수형 등이있다.
- 기본형과 참조형
- 기본형 변수 : 실제 값(data)을 저장한다.
- 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double)
- 참조형 변수 : 어떤 값이 저장되어 있는 주소를 값으로 갖는다.
- 클래스이름 변수이름 ; // 변수의 타입이 기본형이 아닌 것들은 모두 참조변수
// 정수형 변수 선언
byte bnum;
short snum;
int inum;
long lnum;
// 실수형 변수 선언
float fnum;
double dnum;
// 논리형 변수 선언
boolean isTrue;
// 문자형 변수 선언
char ch;
// 문자열 변수 선언
String str;
1. 기본형(primitive type)
- 정수, 실수, 문자, 논리 타입을 기본 타입이라고 한다.
- 기본 타입은 정해진 메모리 크기(byte)를 사용해 값을 저장하는데 바이트 크기가 클수록 표현하는 값의 범위가 크다.
- boolean을 제외한 나머지 7개의 기본형은 서로 연산과 변환이 가능하다.
2. 상수와 리터럴(constant & literal)
1) 상수(constant)
- 변수와 마찬가지로 ‘값을 저장할 수 있는 공간’이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경불가.
- 선언과 동시에 초기화해야 하며, 그 후에 상수의 값을 변경하는 것이 허용되지 않는다.
- 상수의 이름은 모두 대문자로 하는 것이 암묵적인 관례, 여러 단어로 이루어진 경우 ‘_(언더바)’로 구분한다.
// 상수 선언
final int PI;
// 선언과 동시에 상수 초기화
final int PI = 3.14;
// 선언 후 상수 초기화
final int PI;
PI = 3.14;
- 상수 [표현법] - final 자료형 변수명;
- 변하지 않는 값으로 특정 변수의 값이 변경되는 걸 원하지 않을 때 사용한다.
- 초기화 이후에는 값을 변경할 수 없다.
int age;
final int AGE;
age = 20;
AGE = 30;
System.out.println(age);
System.out.println(AGE);
age = 25;
// AGE = 35; >> error, final 변수
2) 리터럴
- 우리가 알고 있는 ‘상수’의 다른 이름.
- 변수에 기록되는 값 자체를 리터럴이라고 한다.
- 리터럴은 정수, 실수, 문자, 논리, 문자열 리터럴로 구분되며 리터럴들은 정해진 표기법대로 작성되어야 한다.
- 변수(variable) : 하나의 값을 저장하기 위한 공간.
- 상수(constant) : 값을 한번만 저장할 수 있는 공간.
- 리터럴(literal) : 그 자체로 값을 의미하는 것.
short s = 32767;
int i = 100;
long l = 10000L;
float f = 0.123f;
double d = 3.14;
char c = 'A';
String str = "ABC";
3) 리터럴의 타입과 접미사
isTrue = false;
bNum = 11;
sNum = 12;
iNum = 300;
// 정수형 리터럴은 기본적으로 int 컴파일 된다.
// long 타입의 리터럴은 숫자 뒤에 L 또는 l을 입력해야 한다.
lNum = 314783647L;
// 실수형 리터럴은 기본적으로 double로 컴파일 된다.
// float 타입의 리터럴은 숫자 뒤에 F 또는 f를 입력해야 한다.
fNum = 3.14f;
// double 타입의 리터럴에서 숫자 뒤에 D 또는 d는 생략이 가능하다.
dNum = 3.14;
4) 타입의 불일치
- 타입이 달라도 저장범위가 넓은 타입에 좁은 타입의 값을 저장하는 것은 허용된다.
5) 문자 리터럴과 문자열 리터럴
- 문자 리터럴
- ‘ ‘(작은따옴표)로 문자 하나를 감싼 것.
- ‘’ 안에 하나의 문자가 반드시 있어야 한다.
- char ch = ‘ ‘ : OK, 공백 문자(blank)로 변수 ch를 초기화
- 문자열 리터럴
- “ “(큰따옴표)로 두 문자 이상을 감싼 것.
- “” 안에 아무런 문자도 넣지 않는 것을 허용, 이를 빈 문자열이라고 한다.
- 문자열 + any type > 문자열 + 문자열 > 문자열
- any type + 문자열 > 문자열 + 문자열 > 문자열
'Java' 카테고리의 다른 글
연산자(Operator) - 연산자(operator) & 단항 연산자 (0) | 2022.08.17 |
---|---|
변수(Variable) - 형변환 (0) | 2022.08.16 |
변수(Variable) - 변수의 타입 : printf() & Scanner (0) | 2022.08.16 |
변수(Variable) - 변수와 상수 (0) | 2022.08.15 |
프로그래밍 기초 & 자바(JAVA) (0) | 2022.08.14 |