인사이트
[JAVA] 정리 1 본문
1. 각 타입의 기본 값
byte = 0
short = 0
char = 0
int = 0
long = 0L
float = 0.0F
double = 0.0
boolean = false
2. char
char c = 65;
char는 문자 하나만을 담는 변수타입이라고 들었던 것 같은데 저게 과연 가능할까?
가능하다.
어떻게 가능할까?
시스템은 저걸 65가 숫자가 아니라 unICode에 의해 A로 인식하기 때문이다(참고로 a는 97이다)
* 그래서 문자열의 대소비교가 가능하다
3. 형변환
→ 이쪽으로 가면 자동 형 변환이 되고
byte < short < int < long < float < double
char <
← 이쪽으로 가면 강제로 형을 변환해줘야한다
char의 크기는 byte와 short의 중간 어디쯤이다. 그러나 int보다는 확실히 작다
4. 자동 형 변환의 조건
1. 변수에 값을 대입할 때(작은타입을 큰 타입에 대입할 때)
2. 값을 연산할 때(+, -, /,...)
5. 문자열과 +
문자열에 +를 붙이면 풀 같이 각 내용을 붙여주는 역할을 한다. 그래서 맨 마지막에 적어준 2021은 숫자가 아니라 문자로 인식된다
6. int형보다 작은 아이들의 계산
int형보다 값이 작은 애들은 무조건 int형으로 변환 되어 계산된다.
=> 그럼 byte나 short같은 형은 왜 만들었을까?
예전에는 1byte 1byte가 귀한 시절이 있었다. 그 때는 어떻게든 byte를 줄여보기 위해 노력했었고, 그 때 유용하게 사용되던 타입이었다. 예전에 비해서 요즘은 컴퓨터의 용량도 커지고 속도도 빨라졌기 때문에 굳이 쓰지 않고 정수는 대부분 int형으로 사용한다!
'JAVA' 카테고리의 다른 글
[JAVA] 클래스의 구성요소 (0) | 2021.06.03 |
---|---|
[JAVA] 향상된 for문 (0) | 2021.06.02 |
[JAVA] int배열 정렬 (오름차순, 내림차순) (0) | 2021.06.02 |
[JAVA] int배열의 합과 평균 구하기 (0) | 2021.06.02 |
[JAVA] int값 뒤집기 (0) | 2021.06.02 |