[JAVA] 자료형

현서황·2024년 9월 12일

JAVA

목록 보기
2/16

정수 자료형


자료형 범주 외의 수를 담을 수 없다.

  • 형변환(casting)
    강제로 범주 외의 값을 넣을 경우 값 손실 발생
byte byteNum;
int smallIntNum = 123;
byteNum = (byte) smallIntNum;

🎈 정수 자료형 중 int를 가장 널리 사용하는 이유?

  • 자바 및 다수 언어들에서 기본 자료형으로 지정됨.
  • 다른 언어들과의 호환 (int가 가장 널리 사용됨)
  • 연산속도가 타 자료형보다 빠름
    • 32비트(4바이트) : 대부분의 CPU에서 처리하기 적합한 크기
  • byte와 short의 연산들은 int를 반환함.

⭐ 정수 자료형의 계산은 소수점 아래를 버림


실수 자료형

double a = 0.1, b = 0.2;
 //  ⚠️ 오차가 생김
double c = a + b; //c = 0.3000000...04

변수 c가 0.3이 아닌 이유는 a와 b가 각각 0.1,0.2가 아니기 때문이다.
-> 컴퓨터는 숫자를 이진법으로 나타낸다. 그런데, 이진법으로 표기되지않는 소수가 존재하기 때문에 이러한 문제가 발생한다.

대표적으로 0.1을 이진법으로 정확히 나타내지 못한다.

  • double이 float보다 단순히 범위가 넓은 것이 아니라, 보다 정밀히 표현이 가능하다.
		//  float은 뒤에 f 또는 F를 붙여 표현
 		float flt1 = 3.14f;
 		double dbl1 = 3.14;

        //  ⚠️ float에는 double을 담을 수 없음
        float flt2 = dbl1;
		//  반대는 가능
        double dbl2 = flt1;
  • float(4바이트)에도 long(8바이트)의 값 담을 수 있음
  • 큰 수(정, 확히 표현가능한 한도를 넘어서는)일 경우, 가능한 최대 정확도로!
  • float과 double의 연산은 double 반환
  • 부동소수점 방식상 오차 자주 있음
  • 소수부가 2의 거듭제곱인 숫자간 연산은 오차 없음
  • 정수 자료형과 실수 자료형의 계산은 실수 반환
  • 리터럴로 작성시 double임을 명시하려면 .0을 붙여줄 것
  • 실수 자료형을 정수 자료형에 강제로 넣으면 소수부를 '버림'

문자 자료형

char, 2바이트 사용
단따옴표로 둘러쌈 ex)char c = 'a';

  • int 1과 char '1'은 다름! - 문자로서의 '1'
  • 빈 문자는 사용 불가, 공백(space)는 가능

불리언 자료형

참,거짓 둘 중 한 값을 가짐.
1바이트(8비트)공간 차지
CPU가 수월히 다룰 수 있는 최소단위
반환값으로 많이 사용됨!


문자열 자료형

0~다수의 문자들로 구성 -> 빈 문자열도 가능
쌍따옴표로 둘러쌈! ex)String c = "abc";

    • 연산자: 이어붙여진 결과를 반환
	String str_b1 = "Hello, ";
    String str_b2 = "World!";
    String str_b3 = str_b1 + str_b2;

하지만 이는 상수에는 적용할 수 없다.
상수 -> final 붙은 변수

  • 문자열 내부에 기호를 넣으려면
profile
노는 게 제일 좋은 뽀로로

0개의 댓글