HardTech

[Java]#4 변수에 대해 배워보자! 본문

프로그래밍/자바 [JAVA]

[Java]#4 변수에 대해 배워보자!

HardTech 2016. 11. 30. 22:43

안녕하세요! HardTech의 프로그래머 HostUnknown입니다.


이번도 다른 때와 다름없이 Java 강좌를 포스팅해봅니다.

이번 강좌에서는 변수에 대해서 배워보겠습니다.



변수란?

말 그대로 '변하는 수' 입니다. 내가 'a' 라는 변수에 1을 넣으면 a의 값이 1이 되고,

또 a에다가 2를 더하면 a의 값이 3이 되는 것처럼 a의 값이 변하죠?

이게 바로 변수입니다.


사실 Java의 변수는 C언어의 변수와 거의 비슷합니다.

일단 한 번 Java 변수의 종류를 배워보겠습니다.


1. int형 변수

int는 'integer'의 약자입니다.

'정수'를 의미합니다. 정수는 뭔지 다 아시겠죠?

혹시 모르니 설명해드리겠습니다.

정수란 1, 2, 3, 4 이런 수입니다.

정수가 자연수 아니냐?

아닙니다. 자연수는 3/3 (3분의 3)도 자연수라고 할 수 있습니다. 약분하면 1이 되니까요.

하지만 정수는 분수, 소수 (0.1, 0.2 ....)는 포함하지 않고 1, 2, 3, 4..... 이런 수만 취급합니다.

마이너스도 같습니다.


만약에 int형 변수 num을 선언하고 싶으시다면 이렇게 선언합니다.

(모든 변수들은 main 메소드 안의 변수로 취급합니다.)




int num;


말 그대로죠?

int형 변수 num을 선언하겠다는 소리입니다.

그런데 나는 변수를 선언하고 나서 num에 특정 값을 바로 넣어버리고 싶다?

그렇다면 이렇게 하면 됩니다. 특정 값은 4로 하겠습니다.



int num;
num = 4;



num = 4를 보시면 바로 아실것입니다. num 변수에 4를 집어넣겠다는 의미죠?
이게 int형 변수입니다.
int형 변수의 입력 범위는 -2,147,483,648 ~ 2,147,483,647까지입니다.
참고로 변수를 선언하고 나서 바로 특정 값을 집어넣는 행위를 '초기화'라고 합니다.
초기화는 변수 관련 작업에 많이 쓰일 것입니다.
그리고 int형 변수 안에는 정수 말고 다른 형태의 수를 집어넣을 수 없습니다.
소수(0.1, 0.2....)같은 것 말이죠.
정수형 변수에 int만 있다고 생각하지 마세요. 아직 2개 더 남았습니다. 사실 3개지만 하나는 쓸 데 없습니다. -128에서 127까지밖에 저장하지 못하거든요. 변수의 이름은 byte라고 합니다.

2. short
short라는 단어의 뜻이 무엇입니까? '짧다'라는 뜻입니다.
그래서 short형 변수 안에는 정수를 -32,768 ~ 32,767까지 저장할 수 있습니다.
int형은 어마어마한 범위의 정수를 저장할 수 있는데 short는 그렇지 않죠?
그래서 short를 다른 말로 '단정수'를 저장하는 변수라고 할 수 있습니다.
짧은 정수를 저장할 수 있다는 말입니다.
문법은 int형 변수와 같습니다.

3. long
이번엔 long입니다. long의 뜻은 '길다'입니다.
그래서 long은 int형보다 범위가 엄청나게 큽니다.
범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807까지입니다.
입이 떡 벌어질 정도로 범위가 큽니다. int형의 몇십 아니 몇백 배로 차이나는 것 같네요.
하지만 그만큼 메모리를 많이 차지해 먹겠죠?
다음은 부동소수점형 변수를 설명해 보겠습니다.

4. float
이 변수는 소수점이 붙어있는 수를 저장할 수 있는 변수입니다.
정확히 말하면 '단정밀도 부동소수점수'를 넣을 수 있다는 말입니다.
부동소수점수라는 말은 '실수'를 유식하게 이르는 말입니다.
실수는 소수와 같은 말입니다.
다음 차례에 배울 'double'형 변수는 float형 변수 범위의 2배라서 double입니다.
float형 변수의 범위는 ±3.40282374E+38 ~ ±1.40239846E-45입니다.

5. double
이 변수도 소수를 저장할 수 있는 변수입니다.
이것도 정확히 말하면 '배정밀도 부동소수점수'를 저장할 수 있습니다.
float형에서 말했던 것처럼 범위가 float형 변수의 2배입니다.
double형 변수의 범위는 ±1.79769313486231507E+378 ~ ±4.94065645841246544E-324입니다.
이거 말고 더 있습니다. 아직 문자를 저장하는 변수를 배우지 않았습니다.


6. char

이 변수는 문자를 저장할 수 있는 변수입니다.

char형 변수는 문법이 좀 다른 점이 있습니다.

char형 변수를 선언하는 것 까지는 같습니다.

초기화 문법이 하나 더 있습니다.

저는 char형 변수 a를 선언할 것입니다.

그럼 이렇게 되겠죠?



char a;


저는 a 변수에 "abc"라는 문자를 넣고 싶습니다. 그러면 이렇게 하면 됩니다.

char a;
a = "abc";


그런데 저는 a 변수에 'b'라는 문자만 넣고 싶습니다. 그렇다면 이렇게 합니다.

char a;
a = 'b';


뭔가 차이가 보이십니까? 맞습니다. 따옴표가 바뀌었지요?

큰 따옴표는 1글자를 넘는 문자를 묶을 때 쓰는 것이고, 작은따옴표는 1글자만 변수에 저장할 때 쓰는 것입니다. 작은따옴표를 1글자 넘는 문자에 쓰면 안됩니다.

문법이 다른 것은 이것 뿐입니다.

문자형 변수는 이것 char 뿐입니다.


7. boolean

하나 더 있습니다.

이 변수는 조건식에서 많이 쓰이는 변수입니다.

이 변수에는 단 2개의 단어만 저장할 수 있습니다.

다른 것들은 절대로 저장하지 못합니다.

그 2개의 단어는 "true", "false"입니다.

두 단어의 뜻은 참, 거짓 입니다.

boolean같은 변수 형태를 '논리형'이라고 합니다.

참과 거짓의 조건식을 만들 때 많이 사용합니다.

문법은 int형과 같습니다. 따옴표 안 넣어도 됩니다.




이것으로 변수는 끝입니다.


다음 강좌에서는 Scanner에 대해서 배워보겠습니다.

댓글 다는 시간이 컴퓨터 켜는 시간보다 더 빠르다는 것 아시죠?


작성자 : [HardTech][프로그래머] HostUnknown


반응형
Comments