변수
변수 하나의 값을 저장할 수 있는 저장 공간
변수 선언 = '해당 타입만큼 공간을 잡아라'라는 프로그래머의 명령.
변수타입 변수이름; // 변수를 선언하는 방법
변수의 타입은 변수에 저장할 값이 어떤 것이냐에 따라 달라지며, 변수의 이름은 저장공간이 서로 구별될 수 있어야 하기 때문에 필요하다.
int x; // 정수(integer)를 저장하기 위한 변수 x 선언
x = 5; // 변수 x에 5를 저장
x = 3; // 변수 x에 3을 저장. 기존의 값(5)은 지워진다.
또는 변수의 선언과 대입을 한 줄로 간단히 표현할 수 있다.
int x = 5;
변수의 타입
변수를 선언할 때, 변수에 저장할 값의 종류에 따라 변수의 타입을 선택해야 한다. 변수의 타입은 참조형과 8개의 기본형이 있다.
int x= 100; // 정수(interger)를 저장할 변수의 타입은 int로 한다.
double pi = 3.14; // 실수를 저장할 변수의 타입은 double로 한다.
char ch = 'a' // 문자(1개)를 저장할 변수의 타입은 char로 한다.
String str = "abc";// 여러 문자(0~n개)를 저장할 변수의 타입은 String로 한다.
상수와 리터럴
상수
‘상수(constant)’는 변수와 마찬가지로 ‘값을 저장할 수 있는 공간’이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다. 상수를 선언하는 방법은 변수와 동일하며, 단지 변수의 타입 앞에 키워드 ‘final’을 붙여주기만 하면 된다.
프로그래밍에서 상수는 변수와 같다. 값을 뜻하는 것이 아닌 공간을 뜻한다.
final int VALUE; // 정수형 상수 VALUE를 선언
VALUE = 100; // OK. 상수에 처음으로 값 저장
VALUE = 200; // 에러. 상수에 저장된 값을 변경할 수 없음
리터럴
원래 12, 123, 3.14, ‘A’와 같은 값들이 ‘상수’인데, 프로그래밍에서는 상수를 ‘값을 한 번 저장하면 변경할 수 없는 저장 공간’으로 정의하였기 때문에 이와 구분하기 위해 상수를 다른 이름으로 불러야만 했다. 그래서 상수 대신 리터럴이라는 용어를 사용한다.
변수(variable) : 하나의 값을 저장하기 위한 공간
상수(constant) : 값을 한 번만 저장할 수 있는 공간 (파이널이 붙은 변수)
리터럴(literal) : 그 자체로 값을 의미하는 것 (변수의 값)
리터럴(값)의 타입과 접미사
정수형과 실수형에는 여러 타입이 존재하므로, 리터럴에 접미사를 붙여서 타입을 구분한다. 정수형의 경우, long타입의 리터럴에 접미사 ‘l’, 또는 ‘L’을 붙이고, 접미사가 없으면 int타입의 리터럴이다. byte와 short타입의 리터럴은 별도로 존재하지 않으며 byte와 short타입의 변수에 값을 저장할 때는 int타입의 리터럴을 사용한다.
문자 리터럴과 문자열 리터럴
‘A’와 같이 작음따옴표로 문자 하나를 감싼 것을 ‘문자 리터럴’이라고 한다. 두 문자 이상은 큰 따옴표로 감싸야하며 ‘문자열 리터럴’이라고 한다.
문자열은 ‘문자의 연속된 나열’이라는 뜻이며, 영어로 ‘String’이라고 한다.
char ch = 'J'; // char ch = 'Java'; 이렇게 할 수 없다.
String name = "Java" // 변수 name에 문자열 리터럴 "Java"를 저장
String str = " "; // OK. 내용이 없는 빈 문자열
char ch = ''; // 에러. ' ' 안에 반드시 하나의 문자가 필요
char ch = ' '; // OK. 공백 문자(blank)로 변수 ch를 초기화
원래 String은 클래스이므로 아래와 같이 객체를 생성하는 연산자 new를 사용해야 하지만 특별히 이와 같이 생략도 허용한다.
String name = new String("Java"); // String 객체를 생성
String name = "Java" // 위의 문장을 간단히.
문자열 결합
숫자 뿐만 아니라 아래와 같이 두 문자열을 합칠 때도 덧셈(+)을 할 수 있다.
덧셈 연산자(+)는 피연산자가 모두 숫자일 때는 두 수를 더하지만, 피연산자 중 어느 한쪽이 String이면 나머지 한쪽을 먼저 String으로 변환한 다음 두 String을 결합한다.
어떤 타입의 변수도 문자열과 덧셈 연산을 수행하면 그 결과가 문자열이 되는 것이다.
문자열 + any type → 문자열 + 문자열 → 문자열
any type + 문자열 → 문자열 + 문자열 → 문자열
7 + 7 + “ “ → 14 + “ “ → “14” + “ “ → “14” // 좌측에서 우측으로 연산 수행
”” + 7 + 7 → “7” + 7 → “7” + “7” → “77” // 좌측에서 우측으로 연산 수행
ㄱ
'Server > 자바의정석' 카테고리의 다른 글
[Java 입문] 연산자2 (0) | 2022.09.26 |
---|---|
[Java 입문] 연산자1 (0) | 2022.09.26 |
[Java 입문] 형변환 (0) | 2022.09.26 |
[Java 입문] 기본형과 참조형 (0) | 2022.09.25 |
[Java입문] 자바 소개 & 특징 (0) | 2022.09.25 |