# 2장. 변수와 자료형
2-1. 변수를 선언하고 값을 대입하는 방법은?
다음과 같이 변수를 선언하기 위해서는, 변수 이름 앞에 자료형을 언급해주어야 한다.
위 예제에서는 dog_age라는 변수에 정수를 입력받기 위해, int를 선언해 주었군요!
다음과 같이, dog_age 변수를 선언함과 동시에 값 7을 넣어주는 방법을 "변수의 초기화" 라고 한다.
※ 변수 이름 규칙
1. 변수 이름은 영문, 숫자를 사용할 수 있고, 특수 문자는 $와 _만 사용할 수 있다. (my_money, wondollar$ 등 가능)
2. 변수 이름은 숫자로 시작할 수 없다. (9seconds, 44girls 등등 불가능)
3. 자바에서 사용되는 예약어는 사용할 수 없다. (break, int, for, while, continue 등등 불가능)
2-2. 변수가 저장되는 메모리 및 자료형 종류는??
변수는 컴퓨터 내부의 메모리 공간에 저장되며, 변수를 선언하는 것은 선언한 변수 이름으로 메모리를 얼만큼 사용하겠다는 의미이다. (int dog_age = 7; -> 메모리에 4바이트(int형 크기) 크기의 공간을 dog_age라는 이름으로 할당)
정수형 | 문자형 | 실수형 | 논리형 | |
1바이트 | byte(-128~127) | boolean(True,False) | ||
2바이트 | short(-2^15 ~ 2^15 - 1) | char | ||
4바이트 | int(-2^31 ~ 2^31 - 1) | float | ||
8바이트 | long(-2^63 ~ 2^63 - 1) | double |
< 자바에서 제공되는 기본 자료형의 종류는 다음과 같다. >
다음과 같이, 문자형 변수(ch1)에 문자값을 입력하고, int형으로 형변환하면, 인코딩된 아스키 코드 값이 출력되고,
문자형 변수(ch2)에 숫자값을 입력하면, 디코딩된 문자 값이 출력되고,
숫자형 변수(ch3)에 숫자값을 입력하고, char형으로 형변환하면, 디코딩된 문자 값이 출력되는 것을 확인 할 수 있다.
자바 10부터 생겨난 문법으로, 다음과 같이 자료형을 앞에 명시하지 않고도 변수를 사용할 수 있는데, 이는 지역 변수 자료형 추론으로, 'var'를 사용하여 변수에 대입되는 자료를 보고, 컴파일러가 추측하여 컴파일하는 방식이다.
'var'를 사용할 때의 주의사항은 다음과 같다.
● 한 번 선언한 자료형 변수는 다른 자료형으로 사용할 수 없다. (int형으로 컴파일 되었으면, int형으로만 사용 가능)
● 지역 변수만 선언이 가능하다.
2-3. 상수와 리터럴
변하지 않는 값인 상수(constant)를 자바에서 선언하기 위해서는, 다음과 같이 final이라는 예약어를 사용하여 선언한다.
final double PI = 3.14;
특히, 반복문에서 반복 횟수를 나타내거나, 학생 수가 정해져있는 경우, 상수의 값을 미리 선언하여 사용하여야, 훨씬 간편하게 사용하지, 만약 상수를 사용하지 않는다면, 값이 변경된다면, 해당 값이 작성되어있는 부분을 모두 찾아서 고쳐야 하므로, 굉장히 번거롭게 된다.
리터럴 : 프로그램에서 사용하는 모든 문자, 숫자, 논리값 등등을 이야기 하며, 이는 변수나 상수 값에 대입할 수 있다.
자바에서 정수를 표현하는 경우, 기본적으로 int형으로 처리 되어, 메모리의 4바이트가 사용된다.
(따라서, long형을 사용하고 싶은 경우, 뒤에 식별자 l이나 L을 사용하여 long big_num = 12345678900L;과 같이 나타낸다.)
실수를 표현하는 경우에도, 기본적으로 dobule형으로 처리 되어, 메모리의 8바이트가 사용된다.
(float형을 사용하고 싶은 경우, float PI = 3.14F; 와 같이 뒤에 식별자 f나 F을 사용해야 한다.)
2-4. 형 변환
변수의 자료형이 다른 경우, 연산하고 싶을 때 자료형을 같게 바꾸는 것.
묵시적 형변환 : 연산 중에 자동으로 형이 변환된다.
1. 바이트 크기가 작은 자료형에서 큰 자료형으로 대입하는 경우 (ex. byte + int -> int)
2. 덜 정밀한 자료형에서 더 정밀한 자료형으로 대입하는 경우 (ex. float + double -> double)
명시적 형변환 : 직접 바꾸려는 형을 괄호를 써서 명시해야 한다.
1. 바이트 크기가 큰 자료형에서 작은 자료형으로 대입하는 경우 (ex. int + long -> int)
2. 더 정밀한 자료형에서 덜 정밀한 자료형으로 대입하는 경우 (ex. float + double -> float)
'Java 스터디 일지 > Do it! 자바 프로그래밍 입문' 카테고리의 다른 글
[Do it!] 자바 프로그래밍 입문 2일차 스터디 - 4장 (0) | 2022.08.27 |
---|---|
[Do it!] 자바 프로그래밍 입문 2일차 스터디 - 3장 (0) | 2022.08.27 |
[Do it!] 자바 프로그래밍 입문 1일차 스터디 - 1장 (0) | 2022.08.27 |