생활코딩 - Java(데이터타입, 형변환)

2024. 3. 20. 22:08·Java & Spring/Java

1. 정수형

데이터 타입 메모리의 크기 표현 가능 범위
byte 1 byte -128 ~ 127
short 2 byte -32,768 ~ 32,767
int 4 byte -2,147,483,648~2,147,483,647
long 8 byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

 

2. 실수형

float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38)
double 8byte ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d)

 

3. 문자

char 2byte 모든 유니코드 문자

 

4. 상수의 데이터 타입

  • int(정수) != 2.2(실수) 이므로 type 오류 발생
  • float(실수) = 2.2(double 실수) 이므로 type 오류 발생
  • double(실수) = 2.2(실수) 이므로 정상
  • float(실수) = 2.2F(실수) → F를 작성하여 명시적으로 type지정

5. 형변환

형 변환(Type Conversion)이란 데이터의 타입을 변경하는 것이다. 

 

 

□ 암시적 형변환

자바는 이러한 형 변환을 자동으로 처리해주는데

이러한 전환작업을 자동(암시적) 형 변환(implicit Conversion)이라고 부른다.

 

자동 형 변환의 원칙은 표현범위가 좁은 데이터 타입에서 넓은 데이터 타입으로의 변환만 허용된다는 것이다.

 

화살표의 역순으로는 암시적형변환 불가

 

□ 명시적 형변환

자동 형 변환이 적용되지 않는 경우에는 수동으로 형 변환을 해야 한다.

이를 명시적(Explicit Conversion)이라고 한다.

 

 

위 코드에서

100.0은 double type

100.0F는 float type인데

(float)100.0 을 작성하게되면 명시적 형변환을 통해 float로 변환시킨다.

아래 int의 경우에도 (int)100.0F를 작성하게되면 명시적으로 int로 변환되게되며, 소수점 아래자리는 버려진다.

위와같이 상수 앞에 (type)을 작성하여 명시적으로 형변환을 진행한다.

 

 

 

 

 

출처 : 생활코딩 유튜브 : 
https://www.youtube.com/watch?v=YYjS4wKW_Ug&list=PLuHgQVnccGMCeAy-2-llhw3nWoQKUvQck&index=27

'Java & Spring > Java' 카테고리의 다른 글

생활코딩 - Java(조건문, 논리연산자, 반복문)  (0) 2024.03.22
생활코딩 - Java(비교와 Boolean)  (0) 2024.03.21
생활코딩 - Java(연산자)  (1) 2024.03.21
생활코딩 - Java(주석과 세미콜론, 데이터 타입)  (0) 2024.03.20
생활코딩 - Java(숫자와 문자)  (1) 2024.03.20
'Java & Spring/Java' 카테고리의 다른 글
  • 생활코딩 - Java(비교와 Boolean)
  • 생활코딩 - Java(연산자)
  • 생활코딩 - Java(주석과 세미콜론, 데이터 타입)
  • 생활코딩 - Java(숫자와 문자)
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 이론공부
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring N
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java N
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java 메서드
    java arrays.copyofrnage()
    java 에라토스테네스의 체
    데이터 타입
    Java this
    데이터 크기
    java super
    java기초
    java 유클리드 호제법
    java
    java 세수의합
    java enhance switch
    java 멤버
    개발로드맵
    프로그래머스 java 기초트레이닝
    자료구조
    java 제어자
    프로그래머스 java 기초 트레이닝
    Java 생성자
    java two-pointer
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
생활코딩 - Java(데이터타입, 형변환)
상단으로

티스토리툴바