변수와 타입) 기본 타입

SSONGRRARD·2024년 1월 30일

자바

목록 보기
4/11

*변수 선언 후에는 타입 변경 불가


*기본 타입(8가지)

1. 정수 타입 : byte, char, short, int, long
2. 실수 타입 : float, double
3. 논리 타입 : boolean


1. 정수 타입

타입 : 메모리 사용 크기 / 저장되는 값의 범위(-2의 n-1승 ~ (2의 n-1승 -1)), n은 bit 수

byte : 1byte, 8bit / -128 ~ 127
short : 2byte, 16bit / -32,768 ~ 32,767
char(음수 값 x) : 2byte, 16bit / 0 ~ 65535(유니코드)
int : 4byte, 32bit / -2,147,483,648 ~ 2,147,483,647
long : 8byte, 64bit / -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807


*리터럴(literal)

소스 코드에서 프로그래머에 의해 직접 입력된 값


*기본적으로 컴파일러는 정수 리터럴을 int로 간주하므로 정수 리터럴이 int 타입의 허용 범위를 초과할 경우 long 타입임을 컴파일러에게 알려주어야한다.
정수 리터럴 뒤에 소문자 l이나 대문자 L을 붙이면 됨, 보통 대문자 L 사용

ex)
long balance = 30000000000; // 컴파일 에러
long balance = 30000000000L;

만약, 정수 리터럴이 int 타입의 허용범위 이내라면 L 안붙여도 됨.


*char 타입

작은따옴표(')로 감싼 하나의 문자 리터럴을 저장할수있는 타입


*String 타입

큰따옴표(")로 감싼 문자열을 저장할수있는 타입


*유니코드

세계 각국의 문자를 2byte로 표현할수있는 숫자(0~65535)로 매핑한 국제표준규약


*문자열

큰따옴표(")로 감싼 문자들, String 타입 사용해야함. String 타입은 클래스 타입으로 기본 타입 x


*이스케이프 문자

문자열 내부에 역슬래시 \가 붙은 문자. 문자열 내부에 특정 문자를 포함시킬수있다.
ex)

String str = "나는 \"자바\"를 좋아합니다";
-> 나는 "자바"를 좋아합니다
\t : 탭만큼 띄움
\n : 줄 바꿈(라인 피드)
\r : 캐리지리턴
\" : " 출력
\' : ' 출력
\\ : \ 출력
\u16진수 : 16진수 유니코드에 해당하는 문자 출력

2. 실수 타입

타입 : 메모리 사용 크기 / 정밀도(소수점 이하 자리)

float : 4byte, 32bit / 7자리
double : 8byte, 64bit / 15자리

자바는 실수 리터럴을 기본적으로 double 타입으로 해석하기에 double 타입 변수에 저장해야한다. float 타입 변수에 저장하면 컴파일 에러 발생.
만약 실수 리터럴을 float 타입으로 저장하고싶다면 리터럴 뒤에 소문자 f나 대문자 F를 붙여 컴파일러가 float 타입임을 알수있도록 해야한다.

ex)

float var = 3.14 // 기본적으로 double 타입으로 해석하기에 컴파일 에러, 뒤에 f 붙여줘야함
double var = 3.14;
double var = 314e-2;
float var = 3.14; // 기본적으로 double 타입으로 해석하기에 컴파일 에러, 뒤에 f 붙여줘야함
float var = 3.14f;
float var = 3E6F;

3. 논리 타입

boolean(1byte) : 논리 리터럴로 참과 거짓을 의미하는 true, false를 저장할수있는 타입

profile
도움을 필요로 하는 곳에 도움을 줄 수 있는 개발자가 되고 싶습니다

0개의 댓글