[Java] 참조 타입_1차원 배열, 다차원 배열
참조 타입_1차원 배열, 다차원 배열
배열(array)
배열 : 같은 타입의 변수를 하나로 묶어서 다루는 것
많은 양의 값(데이터)을 다룰 때 유용하다.
배열 선언 / 배열 생성
//=> 타입, 변수 이름 뒤 대괄호[]를 붙여 배열을 선언한다
//선언방법
타입[]변수이름;
ex) int[] score;, String[] name;
타입 변수이름[];
ex) int score[]; String name[];
int[]score; //배열을 선언한다.
score = new int[5]; //배열을 생성한다.
//=> 위의 두문장을 하나로 만들기
int[]score = new int[5];
배열 길이
배열이름.length로 길이를 표현한다.
int[] score={100,90,80,70,60,50};
for(int i=0; i<score.length; i++) {
System.out.println(score[i])
}
// =(i<6)
배열의 활용
- 배열을 초기화 : 생성된 배열에 처음으로 값을 저장하는 것
- 배열에 값을 저장하고 읽기
다차원 배열
'[]'의 개수가 차원의 수를 의미
다차원 배열 선언 / 배열 생성
//선언방법
타입[][] 변수이름;
ex) int[][] score;
타입 변수이름[][];
ex) int score[][];
타입[] 변수이름[];
ex) int[] score[];
int[][] score=new int[5][3];
//5행 3열의 2차원 배열을 생성한다.
int[][]score={
{100,100,100}
{ 10, 10, 10}
{ 20, 20, 20}
{ 40, 40, 40}
{ 50, 50, 50}
}
배열의 복사
배열은 한 번 생성하면 크기를 변경할 수 없기 때문에
더 많은 저장 공간이 필요하면 큰 배열을 새로 만들어 이전 배열 값을 복사해야 한다.
for문을 사용한 배열의 복사
int[] number={1,2,3,4,5};
int[] newNumber=new int[10];
for(int i=0; i<numver.length;i++) {
newNumber[i]=number[i];
}
//배열 number의 값을 newNumber에 저장한다.
System.arraycopy()를 사용한 배열의 복사
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
//예시
//arrayNumber를 newArrayNumber에 복사해 저장
public static void main(String[] args) {
String[] arrayNumber={"java", "array", "copy"};
String[] newArrayNumber=new String[5];
System.arraycopy(arrayNumber, 0, newArrayNumber, 0, arrayNumber.length);
for(int i=0; i<newArrayNumber.length; i++) {
System.out.print(newArrayNumber[i]+",");
}
}
Enhanced for문
for (타입 변수이름 : 배열이나 컬렉션이름) {
배열의 길이만큼 반복적으로 실행하려 하는 명령문;
}
배열 : 같은 타입의 변수를 하나로 묶어서 다루는 것
많은 양의 값(데이터)을 다룰 때 유용하다.
//=> 타입, 변수 이름 뒤 대괄호[]를 붙여 배열을 선언한다
//선언방법
타입[]변수이름;
ex) int[] score;, String[] name;
타입 변수이름[];
ex) int score[]; String name[];
int[]score; //배열을 선언한다.
score = new int[5]; //배열을 생성한다.
//=> 위의 두문장을 하나로 만들기
int[]score = new int[5];
배열이름.length로 길이를 표현한다.
int[] score={100,90,80,70,60,50};
for(int i=0; i<score.length; i++) {
System.out.println(score[i])
}
// =(i<6)
'[]'의 개수가 차원의 수를 의미
//선언방법
타입[][] 변수이름;
ex) int[][] score;
타입 변수이름[][];
ex) int score[][];
타입[] 변수이름[];
ex) int[] score[];
int[][] score=new int[5][3];
//5행 3열의 2차원 배열을 생성한다.
int[][]score={
{100,100,100}
{ 10, 10, 10}
{ 20, 20, 20}
{ 40, 40, 40}
{ 50, 50, 50}
}
배열은 한 번 생성하면 크기를 변경할 수 없기 때문에
더 많은 저장 공간이 필요하면 큰 배열을 새로 만들어 이전 배열 값을 복사해야 한다.
int[] number={1,2,3,4,5};
int[] newNumber=new int[10];
for(int i=0; i<numver.length;i++) {
newNumber[i]=number[i];
}
//배열 number의 값을 newNumber에 저장한다.
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
//예시
//arrayNumber를 newArrayNumber에 복사해 저장
public static void main(String[] args) {
String[] arrayNumber={"java", "array", "copy"};
String[] newArrayNumber=new String[5];
System.arraycopy(arrayNumber, 0, newArrayNumber, 0, arrayNumber.length);
for(int i=0; i<newArrayNumber.length; i++) {
System.out.print(newArrayNumber[i]+",");
}
}
for (타입 변수이름 : 배열이나 컬렉션이름) {
배열의 길이만큼 반복적으로 실행하려 하는 명령문;
}
명시한 배열이나 컬렉션의 길이만큼 반복되어 실행됩니다. 루프마다 각 요소는 명시한 변수의 이름으로 저장되고, 명령문에서 이 변수를 사용해 각 요소를 참조할 수 있다.
Enhanced for문은 요소를 참조할 때만 사용하는 게 좋고 요소값을 변경하는 작업에는 적합하지 않다.
//Enhanced for를 사용해 각 배열요소의 값을 출력해보는 예시
int[] arr=new int[]{1,2,3,4,5};
for(int e:arr){
System.out.print(e+" ");
} //출력값 : 1,2,3,4,5
Author And Source
이 문제에 관하여([Java] 참조 타입_1차원 배열, 다차원 배열), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeong11/Java-array저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)