변수 아시죠? 변하는수 ...
java에선 변수명을 가지고 변수를 컨트롤합니다 (뭔가 당연한 소리같은 당연한소리) <-(?)
java머신 위에서 프로그램이 실행된다고 했자나여! 저저번 포스팅에서..
변수명을 설정하면 그 변수명이 가지고 있는 자료형에 맞춰서 메모리 공간에 할당이 됩니다!
여러분들 컴퓨터에 램 꽂혀있죠? 전 8기가 박혀있는데
8기가 -> 8*1024*1024*1024 바이트 만큼 메모리공간이 있는겁니다.
비교하기 쉽게 그냥 적어봤어요!
소스 갑니다.
public class test {
public static void main(String[] args) {
int num;
}
}
여기서 제가 int형 변수를 생성했습니다.
int 는 몇바이트죠?
네~4바이트~
4바이트가 할당된거에요 boolean, char, byte, short, long, double, float 등등 있습니다.
이넘들은 순서대로 1, 2, 1, 2, 4, 8, 8, 4 바이트를 할당하게 됩니다!!!
변수명으론 숫자로 시작하면 안되구, 키워드로 설정하시면 안됩니다. 키워드로 설정하는게 뭐냐..
변수이름을 int 로 해버리는거에요! 소스로 하면 int int 정수형 변수 int를 만든거죠 헷갈리죠?
그래서 아예 막아버렸어요! 키워드 = 이미 java 소스 자체에 등록되있는 이름들(int, double, if, break, while, try, import, implements 등등)
이정도로만 알면되구 다음으론,
소스
public class test {
public static void main(String[] args) {
double a, b;
a = 1.0000001;
b = 2.0000001;
System.out.println(a+b);
}
}
결과: 예상해보세요!
일반적으로 생각해봤을때는 3.0000002 가 나와야 하죠 근데 돌려보면
3.0000001999999997 요로콤 나와요..
1이상 5이하 정수의 수는? 5개죠?
1이상 5이하 실수의 갯수는? ?????
무한개가 존재하죠... 이렇듯이 컴퓨터가 무한개의 실수를 다 표현할수는 없어요...
그래서 이 한계를 극복하고자 정밀도는 포기를 해버리고 표현의 범위를 넓힌거에요.
실수 표현을 위한 수식이 이렇게 됩니다.
플마(1.m)*(2의(e-127승))
그냥 표현할수 있는 범위가 어마어마하게 증가했음을 보여주는 겁니다! 사실 100프로 이해못했어요ㅋㅋㅋㅋㅋㅋㅋ
실수는 완벽히 계산을 못한다~ 이렇게 알아두심됩니다!
죄송해요...
이정도면 이번 포스팅 끝내도 될거같아요 부족한거, 필요하신내용, 궁금한내용 있으시면 댓글로 적어주세요!
무한태클 받습니다!
다음포스팅에서 뵈요~
안녕!
'JAVA' 카테고리의 다른 글
| JAVA 5. 실행 흐름의 컨트롤 (0) | 2018.04.04 |
|---|---|
| JAVA 4. 형변환과 연산자 (0) | 2018.04.03 |
| JAVA 2. system.out.println (0) | 2018.04.03 |
| JAVA 1. 시작 (0) | 2018.04.03 |
| JAVA 공부 시작할게요! (0) | 2018.04.03 |