JAVA 변수와 타입

Dante·2023년 6월 24일

기본 타입(Primitive)

정수: byte, char, short, int, long
실수: float, double
논리: boolean

진수 표기

- 2진수: 0b 또는 0B로 시작하고 0과 1로 작성
	int x = 0b1011;	// 11
- 8진수: 0으로 시작하고 0~7숫자로 작성
	int x = 013;	// 11
- 10진수: 소수점 없는 0~9 숫자로 작성
	int x = 11;		// 11
- 16진수: 0x 또는 0X로 시작하고 0~9,A~F,a~f로 작성
	- int x = 0xB3;	// 179

정수 타입

- btye
	1byte, -2^7~(2^7-1), -128 ~ 127
- short
	2byte, -2^15~(2^15-1), -32,768 ~ 32,767
- char
	2byte, 0~(2^16-1), 0 ~ 65535(유니코드)
- int
	4byte, -2^31~(2^31-1), -2,147,483,648 ~ 2,147,483,647
- long
	8byte, -2^63~(2^63-1), -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

실수 타입

- float
	4byte, 1.4*10^-14 ~ 3.4*10^38, 유효소수이하자리 7자리
    부호1bit + 지수8bit + 가수23bit = 32bit
- double
	8byte, 4.9*10^-324 ~ 1.8*10^308, 유효소수이하자리 15자리
    부호1bit + 지수11bit +  가수52bit = 64bit
    
- float타입과 double타입은 부동 소수점(floating-point)방식으로 메모리에 저장한다. 	
- +m*10^n // 부호(+-) + 가수(m) + 지수(n)
- 컴파일러는 실수 리터럴을 기본적으로 double 타입으로 해석한다. 
  float 타입에 대입하고 싶다면 리터럴 뒤에 'f', 'F'를 붙여 컴파일러에게 float 타입임을 알려줘야 한다.
- double는 float보다 2배의 정밀도를 갖는다는 의미의 이름이다.

문자 타입

하나의 문자를 작은따옴표(')로 감싼 것을 문자 리터럴이라고 한다. 
문자 리터럴은 유니코드로 변환되어 저장되는데, 
유니코드는 세계 각국의 문자를 0~65535 숫자로 매핑한 국제 표준 규약이다.
	char var1 = 'A'; //'A'가 매핑되는 숫자: 65로 대입
		char var2 = 65; 와 동일함.
    char var3 = '가'; //'가'와 매핑되는 숫자: 44032로 대입
    	char var4 = 44032; 와 동일함.

문자열 타입

작은따옴표(')로 감싼 한 개의 문자는 char 타입이지만, 
큰따옴표(")로 감싼 여러 개의 무자들은 유니코드로 변환되지 않는다. 
큰따옴표로 감싼 문자들은 문자열로 변수에 저장하려면 String 타입을 사용해야 한다.
	String var1 = "A";
    String var2 = "홍길동";
- String 타입은 자바 primitive 타입에 속하지 않는 참조 타입이다.        
profile
거북이처럼!

0개의 댓글