오늘은 변수에 대하여 정리해보도록 하겠다.
변수란 영어로는 Variable로, 문자나 숫자와 같은 데이터를 담는 저장공간이다.
또한 변수에 담겨진 데이터는 다른 데이터로 바꿀 수 있다. 즉, 변할수 있다는 의미로 변수를 생각하면 이해하기 편하다.
이 예제는 변수 a를 지금부터 사용하겠다고 변수명을 선언한 것이다. 변수 a 앞에는 int라는 키워드가 있다. 이 키워드는 integer의 약자로 정수라는 의미다. 정수는 0을 중심으로 -1, -2, -3과 1, 2, 3과 같은 양수를 통틀어서 정수라고 한다.
int는 변수앞에 사용함으로써 a가 정수임을 확실하게 구분할수 있게해준다.
a = 5; 는 변수명 = 값 을 의미하며 5의 값을 a라는 변수명 저장공간에 담는다.
위의 예제의 결과로는 7이 출력되었다. 변수 a에 담겨 있는 값이 5일 때는 a+2의 결과는 2가 된다.
다음은 저장공간의 종류(type)를 알아보도록 하겠다.
변수는 값의 종류에 따라 맞는 종류를 담을 수 있는 변수로 지정해야 한다.
_____ : 기본형
논리형 boolean (참(1) 과 거짓(0)= 1bit ) (1byte)
정수형 short, int (4byte), long
실수형 Foot, double (8byte)
문자형 char (1byte)
문자열 String (담는 만큼에 따라 달라진다) ex."abc","한동석"
*1byte는 8bit이다.
Q.정수형의 long은 8byte로 int보다 더 커서 많은것을 담을 수 있는데 왜 int를 쓰는가?
32bit는 4byte라 32비트 운영체제에서는 int 4byte만 가지고 있어도 모든 수를 표현할 수 있기때문에 int를 자주 사용했다.
Q.논리형의 boolean은 총 1bit를 사용하는데 왜 1 byte를 사용하는가?
정보의 최소단위는 1byte이기 때문에 7bit가 낭비되어도 1byte로 사용된다.
(*1byte는 8bit이다.)
다음 예제를 보면 float형에 오류가 발생되어있다.
Q. 실수로 되어있는데 왜 오류가 발생할까?
W.실수의 기본형은 double이기 때문이다. 또한 float는 8byte로 double형인 4byte에 들어갈 수 없다.
그렇다면 float형을 변환시켜 보도록 하자.
다음과 같이 실수의 소수점 뒤에 대문자 F를 붙여주면 오류를 해결할 수 있다.
마지막으로 변수는 값의 결과를 바꾸어 나타낼때 수정을 더 간편하게 할 수 있다는 장점을 가진다.
ex) 100을 5번 나타내어라
1.
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
System.out.println(100);
//효율적이지 못함
2.
int a = 100;
System.out.println(i);
System.out.println(i);
System.out.println(i);
System.out.println(i);
System.out.println(i);
//이렇게 사용하면 저장공간에 있는 값을 사용할 수 있으며 결과값을 a= 100부분만 바꾸어 5개의 결과를 바꿔줄 수 있다.
'JAVA' 카테고리의 다른 글
연산자 (0) | 2020.08.11 |
---|---|
개념정리 간단히 (0) | 2020.08.10 |
내부클래스 /캡슐화 (0) | 2020.08.07 |
(TIL)메서드 /선언부/구현부 (0) | 2020.07.27 |
(TIL)배열 (0) | 2020.07.14 |