기존 변수는 변수 1개에 1개에 데이터가 들어있찌만
배열(Array)은 변수 1개에 데이터가 n개 들어있습니다.
배열의 정의는 같은 타입(자료형)의 여러 데이터를 하나의 묶음으로
다루는 것입니다.
[ ] 이런 형식으로 표기하고
배열 속 각각의 데이터를 '요소'라고 부릅니다.
이 요소마다 붙여진 일련 번호가 있는데
각 요소를 구별하는데 사용합니다.
이 일련 번호를 인덱스(Index)라고 하고
시작은 0부터합니다.
배열을 생성하려면
자료형 [ ] 변수명;
이런 식으로 선언하면 됩니다.
배열은 길이를 지정하고 초기화해주어야 하는데
이런 형식으로 초기화를 하면 됩니다.
변수명 = new 자료형 [배열의 길이 갯수];
이런 식으로 한번에 선언하고 초기화 할 수도 있습니다.
자료형[ ] 변수명 = new 자료형 [배열의 길이 갯수];
int[] eng = new int[10];
▲1번째 방법
즉 이런식으로 선언과 초기화를
한번에 할 수도 있습니다.
배열 내에 자료를 초기화 하려면
eng[0] = 10;
eng[1] = 20;
eng[2] = 30;
이런 식으로 인덱스번호마다 값을 부여할 수 있습니다.
배열을 다른 식으로 선언 후 초기화 할 수 있는데
int []eng2 = new int[] {10,20,30};
▲2번째 방법
이렇게 뒤에 중괄호를 붙이고 순서대로 값을 입력하면
선언과 값 초기화까지 한 번에 할 수 있습니다.
이때 new int[]는 생략할 수 있어서
int []eng2 = {10,20,30};
▲3번째 방법
이런 식으로 짧게 선언과 초기화를 할 수 있습니다.
하지만 이렇게 짜게 되면 배열을 못쓰는 경우가 생길수도 있습니다.
그래서 2번째 방식을 알아둘 필요가 있습니다.
배열의 데이터에 접근할 떄에는 주로 반복문을 씁니다.
for (int i = 0; i<eng.length; i++) {System.out.println(eng[i]);}
이런 식으로 배열의 데이터를 한 번에 출력할 수 있습니다.
배열은 기본형이 아니라 String 문자열 처럼 참조형이기 떄문에
배열에 저장되는 값은 '주소값'입니다.
따라서 배열을 그대로 출력하게 되면
[I@139a55
이런 식의 주소값이 출력되게 됩니다.
배열에는 치명적인 단점이 있는데
배열을 선언할 떄 배열의 요소를 정해서 선언하게되면
요소의 개수를 초과하면 값을 집어 넣을 수 없는
단점이 존재합니다.
즉 int [] arr = {10,20};
이렇게 선언하게 되면
arr[2]값을 출력하려고 하면
outofboundindex에러가 뜨게 됩니다.
한 번 사이즈를 정해두면 바꿀 수 없기 떄문에
사이즈를 모르면 배열을 못만드는 경우도 생깁니다.
따라서 Java에서는 잘 사용하지 않습니다.
배열의 특성상 배열안에 배열을 집어 넣을 수도 있습니다.
int [] arr = {{1,12},{2,13},{3,13}}
이런 식으로 넣을 수 있습니다.
System.out.println(arr[a][b])
그러면 이렇게 출력할 수 있는데
이는 a번쨰오는 b번쨰 요소를 출력하라는
의미를 지니고 있습니다.
이런 배열을 2차원 배열이라고 합니다.
2차원 배열 역시도 배열의 단점 중 하나를 보여주는데
그 중 하나는 알아보기 힘들다는 점이고
주석없이 해석하기 어렵다는 점이 있습니다.
이상 배열의 기초적인 개념이었습니다.
'Java > 실습' 카테고리의 다른 글
[Java] 함수 파라미터를 무제한으로 거는 법 (0) | 2024.11.29 |
---|---|
[Java] 약수 (0) | 2024.11.29 |
[Java] ATM기계 (0) | 2024.11.29 |
[Java] 직업에 따라 하는 일 (1) | 2024.11.29 |
[Java] 방정식의 해 구하기 (1) | 2024.11.28 |