Backend/JAVA

JAVA 정수형 상수 VS 실수형 상수

쏠솔랄라 2023. 1. 31. 18:42

 

정수형 상수


: 정수형 상수는 기본적으로 int 형으로 인식


System.out.println(10);
System.out.println(123);

정수 자료형 ; int
byte : 1byte -128 ~ 127 -2^7 ~ 2^7 - 1
short : 2byte -32768 ~ 32767 -2^15 ~ 2^15 - 1
int : 4byte -2147483648 ~ 2147483647 -2^31 ~ 2^31 - 1
long : 8byte -2^63 ~ 2^63 - 1

1bit - 0 or 1 을 저장할수 있는 컴퓨터의 최소 데이터 단위
1bit * 8 = 1byte
1byte * 1024 = 1kb
1kb * 1024 = 1mb
1mb * 1024 = 1gb
1gb * 1024 = 1tb

int age;

age = 20;
System.out.println(age);

age = 30;
System.out.println(age);



정수형 데이터 사용시 주의사항

1. 정수형 데이터는 원형이다

byte a = 127;
a+=1; //a++; //a = a + 1;
System.out.println(a);

-> -128

a--; //a-=1; //a = a - 1;
System.out.println(a);

-> 127

2. 정수끼리의 연산에서는 정수값이 나온다

System.out.println(10 + 3);
System.out.println(10 - 3);
System.out.println(10 * 3);
System.out.println(10 / 3); // 나누기의 몫
System.out.println(10 % 3); // 나누기의 나머지 ; 실수 연산에서도 사용가능

->
13
7
30
3
1


 

실수형 상수


: 실수형 상수는 기본적으로 double로 인식


double 유효자리수 : 오차를 표현하지 않는 자리수
float 4byte 7자리
double 8byte 15자리

실수
System.out.println(123.456);
double a = 123.456;
System.out.println(a);
float b = 123.456f;
a = b;

실수형 상수는 기본적으로 double형으로 인식
상수뒤에 f를 적어주면 float형 데이터로 인식


1. JAVA는 데이터타입에 민감하다
데이터 타입이 작은쪽에서 큰쪽으로 갈때는 상관 없으나
데이터 타입이 큰쪽에서 작은쪽으로 갈때는 에러 발생

같은 크기라면 정수가 실수보다 작다
조금이라도 데이터 손실이 발생할 것 같으면 알고 적을 것
double -> float -> long -> int -> short == char -> byte

int c = 10;
b = c;
c = (int)b;

Cast 연산자
내가 원하는 상황에 내가 원하는 데이터타입으로 임시적으로 형변환을 시켜주는 연산자
(바꿀자료형)변수,상수,연산식

2. 실수가 하나라도 포함된 연산에서는 실수 값이 나온다
int h = 5;
int w = 3;

System.out.println((h * w) / 2 );
System.out.println((h * w) / 2.0);
System.out.println((double)(h * w) / 2 );

3. 실수는 정밀한 계산에서는 사용되지 않는다
System.out.println(10/3.0);