1. 변수(Variable)와 상수
변수란, 단 하나의 값을 저장할 수 있는 메모리 공간
int age;//age라는 이름의 변수를 선언
int - 변수타입 : 변수에 저장될 값이 어떤 '타입(type)'인지를 지정하는 것이다.
age - 변수이름 : 값을 저장할 수 있는 메모리 공간
변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 사용할 수 있게 된다.
변수의 초기화란, 변수를 사용하기 전에 처음으로 값을 저장하는 것
지역변수는 사용되기 전에 초기화를 반드시 해야 하지만 클래스변수와 인스턴스변수는 초기화를 생략할 수 있다.
변수의 명명규칙
1) 대소문자가 구분되며 길이에 제한이 없다.
- True와 true는 서로 다른 것으로 간주된다.
2) 예약어를 사용해서는 안 된다.
- true는 예약어라서 사용할 수는 없지만, True는 가능하다.
목록 | 예약어 |
기본 데이터 타입 | boolean, byte, char, short, int, long, double |
접근 지정자 | public, protected, private |
클래스 관련 | class, abstract, interface, extends, implements, enum |
메서드 관련 | void, return |
제어문 관련 | if, else, switch, case, default, for, do, while, break, continue |
논리 리터럴 | true, false |
예외 처리 관련 | try, catch, finally, throw, throws |
기타 | transient, volatile, package, import, synchronized, native, final, static, strictfp, assert |
자바에서 권장하는 규칙들
1) 클래스 이름의 첫 글자는 항상 대문자로 한다.
- 변수와 메서드 이름의 첫 글자는 항상 소문자로 한다.
2) 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
- ex. lastIndexOf, StringBuffer
3) 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_'로 구분한다.
- ex. PI, MAX_NUMBER
※ 변수의 이름은 짧을수록 좋지만, 약간 길더라도 용도를 알기 쉽게 '의미있는 이름'으로 하는 것이 바람직하다.
ex. 행정표준용어사전
※ 상수(constant)와 리터럴(literal)
- 상수 : 변하지 않는 수
- 리터럴 : 변하지 않는 데이터
ex. int a = 1;
//1과 같이 변하지 않는 데이터(boolean, char, double, long, int, etc...)를 리터럴(literal)
//int 앞에 final을 붙일시 a는 상수가 된다.
2. 변수(Variable)의 타입
우리가 주로 사용하는 값(data)의 종류(type)은 크게 '문자와 숫자'로 나눌 수 있으며 숫자는 다시 '정수와 실수'로 나눌 수 있다.
값(data)
├ 문자 : A, 1, ABC
└ 숫자
├ 정수 : 123, 0, -100
└ 실수 : 3.14. -3.0 x 103
기본형(primitive type)
- 논리형(boolean), 문자형(char), 정수형(byte, short, int, long), 실수형(float, double) 계산을 위한 실제 값을 저장한다. 모두 8개
참조형(reference type)
- 객체의 주소를 저장한다. 8개의 기본형을 제외한 나머지 타입
클래스이름 변수이름; //변수의 타입이 클래스 이름인 것들은 모두 참조변수이다.
2.1 기본형(primitive type)
기본형의 종류
분류 | 타입 |
논리형 | boolean |
true와 fse 중 하나를 값으로 갖으며, 조건식과 논리적 계산에 사용된다. | |
문자형 | char |
문자를 저장하는데 사용되며, 변수 당 하나의 문자만 저장할 수 있다. | |
정수형 | byte, short, int, long |
정수 값을 저장하는 데 사용된다. 주로 사용되는 것은 int와 long이다. byte는 이진 데이터를 다루는데 주로 사용되며, short는 C언어와의 호환을 위해서 추가하였다. |
|
실수형 | float, double |
실수를 저장하는데 사용되며, 주로 double이 사용된다. |
기본형의 종류와 크기
크기 종류 |
1 byte | 2 byte | 4 byte | 8 byte |
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
8가지 기본형(primitive type)과 저장 가능한 값의 범위
자료형 | 저장 가능한 값의 범위 | 크기 | |
bit | byte | ||
boolean | false, true | 8 | 1 |
char | '\u0000'~'\uffff' (0-216-1, 0 ~ 65535) | 16 | 2 |
byte | -128 ~ 127 ( -27 ~ 27-1) | 8 | 1 |
short | -32,768 ~ 32,767 (-215 ~ 215 -1) | 16 | 2 |
int | -2,147,483,648 ~ 2,147,483,647 (-231 ~ 231 -1, 약 20억) | 32 | 4 |
long | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 ( -263 ~ 263 -1) | 64 | 8 |
float | 1.4E-56 ~ 3.4E38 | 32 | 4 |
double | 4.9E -324 ~ 1.8E308 | 64 | 8 |
2.2 상수와 리터럴(constant & literal)
'상수(constant)'는 변수와 마찬가지로 '값을 저장할 수 있는 공간'이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다.
상수를 선언하는 방법은 변수와 동일하며, 단지 변수의 타입 앞에 키워드 'final'을 붙여주기만 하면 된다.
ex. final int MAX_SPEED = 10;// 상수 MAX_SPEED를 선언 & 초기화
final int MAX_SPEED; //에러. 상수는 선언과 동시에 초기화해야함
final int MAX_VALUE = 100; //OK. 선언과 동시에 초기화했음
MAX_SPEED = 200; //에러. 상수의 값은 변경될 수 없음
리터럴(literal)
원래 12, 'A'와 같은 값들이 '상수'인데, 프로그래밍에서는 상수를 '값을 한번 저장하면 변경할 수 없는 저장공간'으로 정의하였기 때문에 이와 구분하기 위해 상수를 다른 이름으로 불러야만 했다. 그래서 상수 대신 리터럴이라는 용어를 사용한다.
변수(variable) : 하나의 값을 저장하기 위한 공간
상수(constant) : 값을 한번만 저장할 수 있는 공간
리터럴(literal) : 그 자체로 값을 의미하는 것
리터럴의 타입과 접미사
종류 | 리터럴 | 접미사 |
논리형 | false, true | 없음 |
정수형 | 123, 0b0101, 077, 0xFF, 100L | L |
실수형 | 3.14, 3.0e8, 1.4f, 0x1.0p-1 | f, d |
문자형 | 'A', '1', '\n' | 없음 |
문자열 | "ABC", "123" | 없음 |
실수형 리터럴의 예
자료형 | 리터럴 | 다른 형태의 동등한 표형 |
double | 10. | 10.0 |
double | .10 | 0.10 |
float | 10f | 10.0f |
float | 3.14e3f | 3140.0f |
double | le1 | 10.0 |
double | le-3 | 0.001 |
'Java > 기초' 카테고리의 다른 글
[Java] 기본형(Primitive type) - 정수형, 실수형 (0) | 2020.06.21 |
---|---|
[Java] 기본형(Primitive type) - 논리형, 문자형 (0) | 2020.06.14 |
[Java] 진법 (0) | 2020.06.14 |
[Java] 자바개발환경, 프로그램 작성 (0) | 2020.06.07 |
[Java] 자바(Java Programming Language) (0) | 2020.06.07 |