기본 타입
- 실제 데이터 값을 저장하는 타입
기본 타입 | 메모리 사용 크기 | 값의 범위 |
boolean | 1byte | true / false |
char | 2bytes | '\u0000' ~ 'uFFFF' |
byte | 1byte | -128 ~ 127 |
short | 2bytes | -32,768 ~ 32,767 |
int | 4bytes | -2,147,483,648 ~ 2,147,483,647 |
long | 8bytes | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
float | 4bytes | 1.4E-45 ~ 3.4028235E38 |
double | 8bytes | 4.9E-324 ~ 1.7976931348623157E308 |
- boolean
- 자바가 데이터를 다루는 최소 단위가 1byte라서 낭비여도 그냥 1byte 사용
- 0과 1을 참, 거짓으로 사용 불가
- char
- 자바에서 유일하게 제공되는 unsigned 형태
- 문자를 유니코드 정수형태로 저장해서 문자 간의 비교 연산자 사용이 가능
- ex ) a = 'A'; b = 'B'; if( a > b )
- int
- 정수 기본형 데이터 타입
- JDK8부터 양수(0~2^32-1)로도 사용 가능
- long
- JDK8부터 양수(0~2^64-1)로도 사용 가능
- 기본형 데이터 타입이 int라 long형을 사용하고자 하는 경우 정수 데이터 맨뒤쪽에 접미사 l이나 L을 붙여줘야 함
- float
- 기본형 데이터 타입이 double이라 float형을 사용하고자 하는 경우에 데이터 맨 뒤쪽에 접미사 f나 F를 붙여줘야 함
- double
- 실수 기본형 데이터 타입
- double임을 명시해주기 위해 접미사 d나 D를 사용하기도 함
- 데이터의 e뒤에 붙은 숫자(n)이 10^n을 나타냄
- ex) 1e3 == 10^3
참조 타입(Reference type)
- 기본 타입을 제외한 타입들로 객체의 주소를 저장하는 타입
- 자바에서 실제 객체는 heap 영역에 저장되며, 참조 타입 변수는 스택 영역에 실제 객체들의 주소를 저장해 객체를 사용할 때마다 참조 변수에 저장된 객체의 주소를 불러와 사용
- ex) 문자열, 배열, 열거, 클래스, 인터페이스
기본 타입과 참조 타입의 차이
- 기본 타입은 null을 담을 수 없지만 참조 타입은 가능
- 기본 타입은 제네릭 타입에서 사용할 수 없지만, 참조 타입은 가능
- 기본 타입이 참조 타입에 비해 접근 속도가 훨씬 빠르고 메모리 양도 훨씬 적게 사용함
리터럴
- 프로그램에서 직접 표현한 값
- ex) int n = 1;
- JDK7부터 숫자 리터럴에 _이 허용되어 가독성을 높임
- 허용되지 않는 경우
- 리터럴 끝에 사용 불가
- 소수점(.) 앞 뒤 사용 불가
- L, F 등 접미사 앞에 사용 불가
- 0x 중간이나 끝에 사용 불가
- 허용되지 않는 경우
var 키워드
- Java10부터 var 키워드를 사용하여 변수 타입 생략 가능
- 자동으로 변수 타입을 추론해주는 키워드로 반드시 초기값을 지정해줘야 함
- 지역변수 선언에만 사용
상수
- 실행 중 값이 변경되면 안되는 데이터로 상수로 선언시 값 변경 불가
- final 키워드를 사용하여 선언
- 선언시 초기값을 지정해줘야 함
자동 타입 변환
- 치환문(=)이나 수식 내에서 타입이 일치하지 않을 때 컴파일러에 의해 자동으로 작은 타입이 큰 타입으로 변환
- ex) double d = 3.14 * 10
- 실수 연산을 위해 10이 10.0으로 자동 변환
강제 타입 변환
- 필요에 의해 강제로 타입을 변환
- () 안에 변환할 타입을 지정
- 큰 타입에서 작은 타입으로 변환시 값의 손실이 생길 수 있음
수식연산자
- C/C++과 동일
연산 종류 연산자 증감 ++ -- 산술 + - * / % 시프트 >> << >>> 비교 > < >= <= == != 비트 & | ^ ~ 논리 && || ! ^ 삼항연산자 ? :
조건문
- if문
if (조건1){
실행문장1;
} else if (조건2){
실행문장2;
} else {
실행문장3;
}
- switch문
switch(식) {
case 값1:
실행문장 1;
break;
case 값2:
실행문장 2;
break;
...
default;
실행문장 n;
}
반복문
- for문
for(초기문; 조건식; 반복 후 작업) {
..작업문..
}
- while문
while(조건식) {
..작업문..
}
- do-while문
do {
..작업문..
} while(조건식);
- continue
- 반복문을 빠져나가지 않으면서 다음 반복으로 넘어감
- break
- 반복문을 빠져나감
- 중첩된 반복문일 경우 하나만 빠져나감
728x90
'공부 > Java' 카테고리의 다른 글
[공부/Java] 자바의 main() 메소드, 예외, 예외 처리, try-catch-finally, 예외 클래스 (0) | 2022.07.11 |
---|---|
[공부/Java] 자바의 배열, 선언, 생성, 초기화, 인덱스, 치환, 공유, 크기, for-each문, 리턴 (0) | 2022.07.11 |
[공부/Java] 자바 키보드 입력 - Scanner (0) | 2022.07.04 |
[공부/Java] 자바 프로그램 기본 구조, 식별자, 식별자 원칙, 관습 (0) | 2022.07.04 |
[공부/Java] 자바의 특징, WORA, JVM, JDK, JRE, 배포판, 응용프로그램 (0) | 2022.07.01 |