일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- getter
- Java
- 오라클
- 상속
- 칼럼명에 별칭 지정
- ifelse
- sql오류
- 향상된for문
- 삼항연산자
- int오류
- 생성자
- 이터레이블
- .repeat
- .substring
- setter
- HAVING
- 생성자쓰는이유
- 객체
- Join
- 작성순서
- 자바
- SQL
- for문
- 연산자
- 겟터
- 제어문
- 카카오인턴십
- 프로그래머스
- executeUpdate
- SELECT 절
- Today
- Total
CoDream
[JAVA] 배열, 2차원 배열, 인덱스, ARR변수 본문
배열
타입이 같은 변수 여러 개 만들기 위해 사용.
길이가 5인 정수형 배열을 생성합니다. 배열의 이름은 **x**이며, 배열의 각 요소는 초기값으로 0을 갖습니다. 이 배열은 다음과 같이 선언되고 초기화됩니다.
int[] x = new int[5];
여기서 **int[5]**는 배열의 길이가 5라는 것을 나타내며, **new int[5]**는 길이가 5인 새로운 정수 배열을 생성하는 데 사용됩니다.
따라서 **x**는 길이가 5인 정수형 배열이며, 인덱스 0부터 4까지의 요소를 갖습니다. 이 배열을 사용하여 다양한 작업을 수행할 수 있습니다. 예를 들어, 각 요소에 값을 할당하고 출력하는 코드는 다음과 같을 수 있습니다.
int[] x = new int[5];
x[0] = 10;
x[1] = 20;
x[2] = 30;
x[3] = 40;
x[4] = 50;
배열의 크기를 지정해야 하는 이유는 배열이 메모리 상에서 연속된 공간에 할당되기 때문입니다. 배열은 연속된 메모리 공간에 요소들을 순차적으로 저장하는 자료구조이며, 따라서 배열의 크기를 지정해야 메모리를 할당할 수 있습니다.
배열을 선언할 때 크기를 지정하지 않으면, 컴파일러가 해당 배열을 어느 정도의 메모리 공간에 할당해야 할지 알 수 없기 때문에 오류가 발생합니다. 배열의 크기를 지정함으로써 컴파일러는 배열이 필요한 메모리 공간을 사전에 할당하고 준비할 수 있습니다.
또한 배열의 크기를 지정함으로써 프로그래머가 배열에 접근할 수 있는 범위를 명확하게 지정할 수 있습니다. 배열의 인덱스는 0부터 시작하므로, 배열의 크기를 지정함으로써 배열의 마지막 요소에 접근하는 데 사용할 수 있는 인덱스를 알 수 있습니다.
배열의 크기를 지정함으로써 메모리 사용을 최적화할 수도 있습니다. 필요한 만큼의 메모리만 할당하여 불필요한 메모리 사용을 방지할 수 있습니다.
따라서 배열의 크기를 지정함으로써 메모리 할당, 접근 범위의 명확성, 메모리 사용의 최적화 등 다양한 이점을 얻을 수 있습니다.
// 배열 생성 타입[] 변수명 = 배열 덩어리;
int[] a = new int[3];
// 배열의 특정 칸에 접근(값 넣기)
// 칸번호 사용
//0번 부터 시작 주의하기
//범위 주의
a[1] = 10;
// 배열의 특정 칸에 접근(값 꺼내기)
int result = a[1];
System.out.println(a[1]);
Arr변수
int[] arr = new int[5];
여기서 "arr"은 정수형 배열을 가리키는 변수로, 길이가 5인 배열을 생성합니다. 이 변수를 통해 배열의 각 요소에 접근하거나 배열의 크기 등을 조작할 수 있습니다.
2차원 배열
배열의 배열을 의미합니다. 즉, 각 요소가 배열인 배열입니다. 이를 통해 행(row)과 열(column)로 구성된 표나 행렬과 같은 구조를 표현할 수 있습니다.
다음은 Java에서 2차원 배열을 선언하고 초기화하는 방법입니다:
// 2행 3열의 2차원 배열 선언
int[][] array = new int[2][3];
// 2차원 배열 초기화
array[0][0] = 1;
array[0][1] = 2;
array[0][2] = 3;
array[1][0] = 4;
array[1][1] = 5;
array[1][2] = 6;
// 또는 배열을 선언과 동시에 초기화
int[][] array2 = { {1, 2, 3}, {4, 5, 6} };
위의 예제에서 **array**는 2행 3열의 2차원 배열을 선언하고 초기화한 것입니다. 각 요소에 접근하기 위해서는 행과 열의 인덱스를 사용합니다. 예를 들어, **array[0][0]**은 첫 번째 행의 첫 번째 열을 나타냅니다.
2차원 배열은 데이터를 행렬 형태로 구조화할 때 유용하며, 행과 열의 개수가 동적으로 변하지 않는 경우에 사용됩니다. 다차원 배열은 3차원, 4차원 등으로 확장될 수 있으며, 다차원 데이터를 표현하는 데에 사용됩니다.
int[] arr01 = new int[3];
int[] arr02 = new int[5];
int[] arr03 = new int[2];
int[][] x = new int[3][];
x[0] = arr01;
x[1] = arr02;
x[2] = arr03;
이렇게 하면 **x[0]**이 **arr01**을, **x[1]**이 **arr02**를, **x[2]**가 **arr03**을 참조하게 됩니다.
x: [ ] [ ] [ ]
| | |
V V V
arr01 arr02 arr03
이제 **x**는 3개의 배열을 가지고 있으며,
각 배열은 서로 다른 크기를 가진 arr01, arr02, **arr03**을 참조합니다.
'JAVA > JAVA 이론' 카테고리의 다른 글
[JAVA] 메소드(Method), 인자값(argument), 리턴값(Return Value) (0) | 2024.02.19 |
---|---|
[JAVA] 객체지향언어, 스택(Stack), 힙(Heap), 스트링(String) (0) | 2024.02.17 |
[JAVA] 제어문 (조건문if, switch)(반복문 for, while, do-while) (0) | 2024.02.17 |
[JAVA] String to int/double 문자열을 정수로 변환 (0) | 2024.02.17 |
[자바] Switch (0) | 2024.02.16 |