변수의 선언과 저장
변수란 하나의 값을 저장할 수 있는 메모리 공간이다.
- 변수를 사용하려면 먼저 변수를 선언해야 한다. ex) int age
- 변수를 선언하면 변수를 사용할 수 있지만, 그 전에 반드시 변수를 초기화 해야 한다.
변수 초기화란 변수를 사용하기 전에 처음으로 값을 저장하는 것을 말한다. ex) int age = 25
변수의 타입
변수에 저장할 값의 종류에 따라 변수의 타입을 선택해야 한다.
기본형(Primitive Type) : 8가지
- 논리형(True or False) : boolean
- 문자형 : char(character)
- 정수형 : byte, short, int(integer), long
- 실수형 : float, double
참조형(Reference Type) : 기본형 이 외
상수와 리터럴
- 상수는 값을 한 번만 저장할 수 있는 공간이다.
- 변수의 타입 앞에 키워드 ‘final’을 붙여준다.
- 상수의 이름은 모두 대문자로 하는 것이 관례이다.
- 리터럴(literal)은 그 자체로 값인 것을 의미한다. ex) 100, ‘A’, true, “ABC”
리터럴의 타입과 접미사
리터럴에도 타입이 있다. 정수형과 실수형은 접미사를 통해 구분한다.
- long 타입 접미사: l(소문자 L) or L
ex) long a = 100L
- float 타입 접미사: f or F
ex) float a = 3.14f
- double 타입 접미사: d or D
ex) double a = 3.14d
실수형에서는 double이 기본형이므로, 접미사 d or D는 생략 가능하지만, float 타입의 접미사 f or F는 생략 불가능하다.
문자열 결합
- 어떤 타입의 변수도 문자열과 덧셈 연산을 수행하면 그 결과는 반드시 문자열이 됩니다.
- 문자열 + any type → 문자열 + 문자열 → 문자열
- any type + 문자열 → 문자열 + 문자열 → 문자열
기본형과 참조형
- 기본형의 변수는 실제 값(data)를 저장합니다.
- 참조형의 변수는 값이 저장된 주소(memory address)를 저장합니다.
기본형의 종류와 범위
- boolean은 true와 false만 표현할 수 있으면 되므로 1byte입니다.
- char는 Java의 2byte 문자체계인 유니코드를 사용하고 이으므로 2byte입니다.
- 기본형 int(4byte)를 기준으로, 짧으면 short(2byte), 길면 long(8byte)입니다.
- 표현 범위
타입 간의 변환방법
- 숫자를 문자로 변환 - 숫자에 ‘0’을 더한다. (아래 ASCII 코드에 부연 설명)
(char)(3 + ‘0’) → ‘3’
- 문자를 숫자로 변환 - 문자에서 ‘0’을 뺀다. (아래 ASCII 코드에 부연 설명)
‘3’ - ‘0’ → 3
- 숫자를 문자열로 변환 - 숫자에 빈 문자열(””)을 더한다.
3 + “” → “3”
- 문자열을 숫자로 변호나 - Integer.parseInt() 또는 Double.parseDouble()을 사용한다.
Double.parseDouble(”3.14”) → 3.14
Integer.parseInt(”3”) → 3
- 문자열을 문자로 변환 - charAt(0)을 사용한다.
“321”.charAt(0) → ‘3’
- 문자를 문자열로 변환 - 빈 문자열(””)을 더한다.
‘3’ + “” → “3”
ASCII 코드
- 컴퓨터는 0과 1 숫자 밖에 모르기 때문에 문자도 숫자로 기억한다. 이때, 어떤 숫자와 어떤 문자를 대응시키는가에 따라 여러 가지 인코딩 방식이 있는데 통상 ASCII 코드 방식을 많이 사용한다.
- 아스키 코드(ASCII Table)는 0번부터 127번까지만 사용한다.
- (char)(3 + ‘0’) → ‘3’ 는 ‘0’이 ASCII 코드에서 48이므로
(char)(3 + ‘0’) → (char)(3+48) → (char)(51) → ‘3’ 이 된다.
- ‘3’ - ‘0’ → 3 은 51 - 48 → 3 이 된다.
'Java > 자바 기초' 카테고리의 다른 글
6. 객체지향 프로그래밍 I (0) | 2022.03.11 |
---|---|
5. 배열 (0) | 2022.03.11 |
4. 조건문과 반복문 (0) | 2022.03.11 |
3. 연산자 (0) | 2022.03.11 |
1. 자바를 시작하기 전에 (0) | 2022.02.14 |