Skip to content
jaeseok.an edited this page Mar 19, 2020 · 4 revisions

Type

  • 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
  • Boolean
    • boolean (true/false)

type 변환

  • 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

String

  • 기본 type이 아닌 class
    • 참조변수 reference로 사용
  • string == string 은 동일 객체에만 true
  • boolean b = str.equals(str2)

test

Clone this wiki locally