일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- django
- 구현
- 프림
- GROUPBY
- 누적합
- 백준
- EC2
- MST
- 프로그래머스
- 피로그래밍
- Pirogramming
- 배포
- 자바
- 다익스트라
- 그래프 탐색
- SQL코딩테스트
- JOIN
- 크루스칼
- db
- Baekjoon
- 최단경로
- BFS
- AWS
- union find
- Java
- Database
- 알고리즘
- 코딩테스트
- OrderBy
- SQL
Archives
- Today
- Total
NullNull
Java Data Type 본문
Java Data Type
Java의 데이터 타입은 크게 2가지로 나뉜다.
- Primitive Type
- Reference Type
Primitive Type
Type | Bit | 구분 | 비고 |
---|---|---|---|
Type | Bit | 구분 | 비고 |
boolean | 논리형 | ||
byte | 8 | 정수형 | |
short | 16 | 정수형 | |
int | 32 | 정수형 | Default |
long | 64 | 정수형 | |
float | 32 | 실수형 | |
double | 64 | 실수형 | Default |
char | 16 | 문자형 |
형 변환
- 변수의 타입을 다른 타입으로 변환하는 것
- Primitive 는 Primitive끼리, Reference는 Reference끼리 형 변환이 가능함
- Boolean 은 다른 기본 타입과 호환되지 않음
- Primitive 타입을 Reference 타입처럼 사용하려면 Wrapper 클래스를 이용함
묵시적 형 변환 | 명시적 형 변환 |
---|---|
묵시적 형 변환 | 명시적 형 변환 |
표현 범위가 작은 데이터 타입을 큰 타입에 캐스팅 | 표현 범위가 큰 데이터 타입을 작은 타입에 캐스팅 |
값 손실 없음 | 값 손실 있음 |
JVM이 직접 수행 | 프로그래머가 수행 |
형변환의 실행 예시
- 4byte 미만인 타입의 연산은 int로 묵시적 형 변환을 한 뒤 연산한다.
- int와 long 타입의 연산에서는 결과가 long으로 나온다.
- 기본적으로 표현 범위가 큰 타입으로 형변환되어 결과가 반환된다.
배열 특징
- Reference Type
- 고정된 크기
- 동형 타입 : 같은 타입만 적재 가능
- 연속된 메모리 공간에서 관리
- 요소에 접근하는 속도가 매우 빠름
- 배열의 요소 값들은 배열이 생성될 때 기본 값으로 초기화
- int 배열은 모든 배열 요소가 0으로 초기화
- String 배열은 모든 배열 요소가 null으로 초기화
- 배열의 생성 순서
- 선언 → 선언시 arr 이라는 참조 변수가 만들어짐. null값이 들어있음
- 생성 → new 키워드를 사용하여 int를 4개 담을 수 있는 배열을 생성함
- 초기화 → 생성된 배열에 초기 값을 넣음. 배열의 주소 값을 참조할 수 있도록 arr 변수에 연결한다.
//1 int[] arr = {1, 2, 3, 4}; //2 int[] arr = new int[4] {1, 2, 3, 4}; //3 int[] arr; arr = new int[4] {1, 2, 3, 4} //4 int[] arr; arr = {1, 2, 3, 4}
- 배열 선언 시, 4번 코드에서는 에러가 발생한다. 배열은 선언과 생성이 동시에 진행되는 경우에는 new int[] 키워드 없이 생성할 수 있다.
- 하지만, 선언과 생성을 따로 처리하는 경우에는 항상 new 키워드를 사용해야 한다.
int[] arr = new int[4];
배열 메소드
- arr.length
- 인스턴스 메소드
- 배열의 크기를 반환할 때 사용
- Arrays.toString(배열)
- 클래스 메소드
- 배열의 내용을 출력하고 싶은 경우 사용
- Arrays.deepToString(출력할 배열)
- 클래스 메소드
- 2차원 배열을 출력하고 싶은 경우 사용
- Arrays.copyOf(원본 배열, 원본 배열에서 복사할 크기)
- 클래스 메소드
- return type은 배열
- 원본 배열로부터 새로운 배열을 복사
- System.arraycopy(sourceArr, sourcePos, destArr, destPos, length)
- 클래스 메소드
- sourceArr의 sourcePos 부터 length 까지의 요소들을 복사하여 destArr의 destPos부터 붙여넣음
- 두 개의 배열이 존재하는 상태에서 하나의 배열에 다른 배열의 내용을 복사
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
간단한 Unit Test 작성하기 (0) | 2024.04.04 |
---|---|
객체지향 언어의 특징과 설계 원칙 (0) | 2022.09.29 |
예외 처리 (0) | 2022.08.14 |
Abstract class vs Interface (0) | 2022.08.14 |
JAVA 노드 스트림 & 보조 스트림 (0) | 2022.07.31 |
Comments