2023. 10. 16. 22:56ㆍProgramming/이론정리
자료형은 기본 자료형과, 참조자료형 두가지로 나뉜다.
1.기본자료형(Primitive type)
- 단일 값을 나타내며, 메모리에 직접 값을 저장한다. 따라서 변수 간에 값을 복사할 때 값을 복사한다.
- byte(8bit 정수, 메모리 1byte)
short (16bit 정수, 메모리 2bytes)
int (32bit 정수, 메모리 4bytes)
long (64bit 정수, 메모리 8bytes)
float (32bit 부동소수점, 메모리 4bytes)
double (64bit 부동소수점, 메모리 8bytes)
char(2bytes 유니코드 문자)
boolean (논리형 1bit)
2. 참조 자료형(Reference Type)
: 참조자료형의 경우 객체나 데이터 구조체의 주소를 저장하여 heap에 있는 데이터를 참조하는 형태를 가진다.
따라서 참조 자료형 변수를 생성하면 해당 변수는 실제 데이터가 저장된 메모리 위치를 가리키는 주소를 저장한다.
- String : 문자열 데이터는 문자 배열로 저장되며, 문자열 변수는 문자열 데이터의 주소를 가리킨다.
- Array(배열) : 배열 변수는 여러 값을 저장하는 데 사용되며, 배열의 변수는 실제 배열 데이터의 주소를 가리킨다.
- Obejct(객체) : 배열 변수는 여러 값을 저장하는 데 사용되며, 배열의 변수는 실제 배열 데이터의 주소를 가리킨다.
3. 각 자료형에 따른 비교 예제코드
- int VS long
/*
int의 최댓값인 2147483647에 1을 넘으면,
Integer Overflow가 발생하게되어 되어,
-2,147,483,648(최솟값)을 return 한다.
따라서 type을 long으로 지정해주거나, 별도로 에러처리를 해주어야한다.
*/
int i = 2147483647 + 1;
System.out.println(i);
long l1 = 2147483648L;
System.out.println(l1);
//기본적으로 int 데이터 유형으로 인터프리트되기때문에 오류가 발생한다.
//long l2 = 2147483648;
//System.out.println(l2);
- double VS float
//3.14159263535
double p = 3.14159263535;
System.out.println(p);
//3.1415927 소수 7자리의 자리에서 올림하여, 근사치를 나타내게 된다.
float p2 = 3.14159263535f;
System.out.println(p2);
-BigDecimal,BigInteger
/*
정말 숫자를 정교하게 사용해야할때는, BigInteger Or BigDecimal을 사용해야한다.
하지만 그냥 BigDecimal bd1 = new BigDecimal(2);같이 넣게되면, 정교한 계산이 어려워진다.
따라서 BigDecimal bd1 = new BigDecimal("2");와 같이 literal하는 방식으로 사용해야한다.
*/
BigDecimal bd1 = new BigDecimal("2");
BigDecimal bd2 = new BigDecimal("1.1");
System.out.println(bd1.subtract(bd2));
'Programming > 이론정리' 카테고리의 다른 글
[강의 정리] AWS 입문 강의 정리 - 기본 용어 정리2 (0) | 2024.06.04 |
---|