728x90
무명 배열[anonymous array]이란?
변수 명을 가지지 않는 배열로, 즉시 배열을 생성하여 값을 전달할 때 자주 사용한다.
형식 :
new int[] {1, 2, 3} //형식
sum(new int[] {1, 2, 3}); //응용 방법
배열 복사의 여러가지 방법
배열은 어느 프로그램이나 상당히 자주 쓰이는 자료의 집합체다.
원하는 데이터를 복사해서 따로 만들어둔 변수에 저장하고 싶을 때 어떻게 해야할까?
형식 :
int[] copy_arr;
copy_arr = array; //copy_arr가 array의 주소값을 가리키게 한다.
System.out.println("copy_arr 배열에 들어있는 값은 : " + Arrays.toString(copy_arr));
int[] copy_arr2 = Arrays.copyOf(copy_arr, copy_arr.length); //배열의 모든 값을 복사하는 방법이다. 아규먼트는 (원래 배열, 길이)를 쓴다.
System.out.println("copy_arr2 배열에 들어있는 값은 : " + Arrays.toString(copy_arr2));
원하는 인덱스를 찝어서 그 인덱스의 요소만 복사해올수도 있다.
int[] copy_arr = new int[1]; //초기화 필수
copy_arr[0] = array[2]; // copy_arr[0]가 array[2]의 주소값을 가리키게 한다.
전체 연습 코드 :
import java.util.*;
public class array_test {
public static void main(String[] args) {
sum(new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }); // 무명 배열. 변수선언 없이 배열의 값만 전달할 수 있다.
int[] array = new int[] { 10, 20, 30, 40, 50 };
System.out.println("array 배열에 들어있는 값은 : " + Arrays.toString(array)); // 문자열로 형변환하여 배열안에 요소를 모두 출력하는 방법이다. (괄호 +
// 콤마까지 해준다!!)
System.out.print("array 배열에 들어있는 값은 : "); // i의 값을 확인해보자
for (int i : array) { // array의 값이 배열의 크기만큼 반복해서 i에 대입이 된다.
System.out.print(" " + i); // i의 값을 확인해보자
}
int[] copy_arr;
copy_arr = array; // copy_arr가 array의 주소값을 가리키게 한다.
System.out.println("\ncopy_arr 배열에 들어있는 값은 : " + Arrays.toString(copy_arr));
int[] copy_arr2 = Arrays.copyOf(copy_arr, copy_arr.length); // 배열의 모든 값을 복사하는 방법이다. 아규먼트는 (원래 배열, 길이)를 쓴다.
System.out.println("copy_arr2 배열에 들어있는 값은 : " + Arrays.toString(copy_arr2));
}
public static void sum(int[] val) {
int sum = 0;
for (int i : val) {
sum += i;
}
System.out.println("숫자들의 합은 : " + sum);
}
}
728x90
'Program > Java' 카테고리의 다른 글
[JAVA] VS Code 에서 JAVA 프로젝트 보는 법 (0) | 2021.08.30 |
---|---|
[Java] 동적 메소드 호출 (0) | 2021.07.12 |
[JAVA] 2차원 배열을 이용한 Tic Tac Toe (틱택토) 게임 (0) | 2021.06.28 |
[JAVA] 배열에서 최소 값, 최대 값 찾아서 출력하기 (0) | 2021.06.26 |
[JAVA] 랜덤한 숫자 맞추기 게임 (0) | 2021.06.25 |
댓글