-
Notifications
You must be signed in to change notification settings - Fork 0
Java
jaeseok.an edited this page Mar 19, 2020
·
4 revisions
- java에는 unsigned가 없다. char는 unsigned short와 동일
- byte - -128 ~ 127
- char - 0 ~ 65535
- unicode (2byte) 를 나타냄
- 1 byte는 ASCII code
- c = 'A' or c = 65 or c = '/u0041' (16진수표현)
- UNICODE알아내기
- char c = 'a' ; int a = c ;
- short -
- 2byte
- -32768 ~ 32767
- int
- 4 byte (-2^31 ~ 2^31 -1)
- Java기본 정수 type
- 8진수 'o', 16진수 '0x'
- Long
- 8 byte (-2 ^ 63 ~ 2^63 -1)
- 정수 뒤에 'L', 'l' 붙임 ex) 10L
- 실수
- float (4 byte)
- float var = 3.14F (반드시 F 필요)
- double (8 byte)
- Java의 기본 실수 type
- float (4 byte)
- Boolean
- boolean (true/false)
- byte -> char 는 변환 불가
- char는 양수만 가능
- Small -> BIG
- implicit casting 가능
- Big -> Small
- (char) (int) 처럼 강제 타입 casting 필요
- unicode를 int에서 char로 변환
- int a = 'a' ; char b = (char)a;
- 최소/최대
- Byte.MAX_VALUE, Byte.MIN_VALUE
- Integer, Short, Long, Float, Double에 대해 존재
- 실수 유효값 손실
- int -> double 사용
- float : 1 + 8(지수) + 23(가수)
- 23bit 가수는 32bit int에 유효숫자가 부족할 수 있음
- double : 1 + 11(지수) + 52(가수)
- 정수 연산
- int로 변환한후 연산,연산후 결과도 int
- long, double이 포함되어 있으면 가장 큰 type으로 변환
- char, short , byte 연산 결과도 항상 int
- char a = 'a'; int b = a + 1; a = (char)b;
- -shortA (int 타입이됨)
- 실수 연산
- 0.1을 근사치로 표현
- 1 - 0.7 = 0.299999999..3 으로 근사함
- NaN/Infinity
- 정수 / 0 = ArithmaticException 발생
- 실수 / 0 = NaN
- 실수 % 0.0 = Infinity
- 기본 type이 아닌 class
- 참조변수 reference로 사용
- string == string 은 동일 객체에만 true
- boolean b = str.equals(str2)
test