변수/상수/리터럴

정순동·2023년 11월 22일
0

자바기초

목록 보기
4/89

변수

변수란? 하나의 값을 저장할 수 있는 저장공간이다.

저장공간, 즉 변수가 필요하다면 먼저 변수를 선언해야 한다. 변수를 선언하는방법:

변수타입 변수이름;
ex) int name, String name, boolean name;

위의 문장이 실행되면, x라는 이름의 변수(저장공간)가 생기고 해당 공간에 값을 저장할 때는 아래와 같이 적을 수 있다.

name = 5, name = "159jsd", name = true;

저장공간의 값을 다시 바꾸고 싶으면 위 코드를 저장공간 값만 바꿔서 다시 적으면된다

변수의 타입

변수를 선언할 때, 변수에 저장할 값의 종류에 따라 변수의 타입을 선택한다. 변수의 타입은 참조형과 8개의 기본형이 있는데, 일단 자주 쓰이는 타입은 아래 표와 같다.

상수

상수란? 값을 한 번 저장하면 변경할 수 없는 저장공간

변수 선언시 아래와 같이 final이 붙으면 이는 변수가 아닌 상수로서 수정이 불가능하고 반드시 초기화를 같이 진행해 줘야 한다.

※상수의 이름은 모두 대문자로 하는것이 관례이다

final int NAME = 5;
//or
final int NAME;
NAME = 5;

리터럴(literal)

원래 3.14,'A'와 같은 값들이 상수인데, 프로그래밍에서는 상수를 '값을 한 번 저장하면 변경할 수 없는 저장공간'으로 정의하였기 대문에 이와 구분하기 위해 상수를 다른 이름으로 불러야했다. 이를 리터럴이라고 한다

리터럴의 타입

변수에 타입이있는것처럼 리터럴에도 타입이 있다. 리터럴의 타입들은 아래와 같다

정수형과 실수형에는 여러 타입이 존재하므로, 리터럴에 접미사를 붙여서 타입을 구분한다.
정수형의 경우, long타입의 리터럴에 접미사'l' 또는 'L'을 붙이고, 접미사가 없으면 int타입의 리터럴이다. byte와 short타입의 리터럴은 별도로 존재하지 않으며 byte와 short타입의 변수에 값을 저장할 때는 int타입의 리터럴을 사용한다

10진수 이외 진수표기법으로 리터럴 저장하기

꼭 10진수를 사용할 필요는 없다. 2, 8, 16진수로 된 리터럴을 변수에 저장하기 위해서는 아래와 같이 리터럴 앞에 접두사 '0x' 또는 '0X'를, 8진수의 경우에는 '0'을 붙인다

int octNum = 010;	//8진수 10, 10진수로 8
int hexNum = 0x10;	//16진수 10, 10진수로 16

그리고 jdk 7버전 이상 부터는 정수형 리터럴의 중간에 구분자'_'(원화를 읽을때 , 와같음 ex)1,000,000원)를 넣을 수 있게 됐다

long big = 100_000_000_000L;		//long big = 100000000000L;
long hex = 0xFFFF_FFFF_FFFF_FFFFL;	//long hex = 0xFFFFFFFFFFFFFFFFL;

실수형에서는 float타입에는 'f' 또는 'F', double타입에서는 'd' 또는 'D'를 붙이면 된다.
정수형에서 int가 기본형이고 실수형에서는 double이 기본형이기에 d는 생략할 수 있다

float pi = 3.14f		//접미사 f 대신 F가능. 생략X
double rate = 1.618d	//접미사 d 대신 D가능. 생략O

문자형에서는 'A'와 같이 작은따옴표로 문자 하나를 감싼 것을 문자 리터럴이라고 한다.
문자형은 아무것도 안넣을수는 없지만 ' '처럼 공백은 넣을 수 있다.
문자열에서는 "Java"와 같이 큰따옴표로 두 문자 이상을 감쌀수 있다.
문자열은 "J"와같이 하나도 감쌀수 있으며 "", " " 아무것도 넣지않거나 공백을 넣을수도 있다.

char ch = 'J'			//char ch = 'Java'; 이렇게 할순 없다
String name = "Java"

0개의 댓글