배열을 간단히게 실습해보자

박성현·2024년 3월 18일

java

목록 보기
19/51

배열 헷갈리는 부분들이 간단히 실습해보자 ! !

  • 주석에 간단히 설명을 달아뒀으니 해석하며 다시 풀어보자 !
package arrayex;

import java.util.Arrays;

public class ArrayEx {

	public static void main(String[] args) {
		int iArr[] = {1,2,3};
		// 배열크기가 5개짜리로 바꿔라
		int tem[] =new int[5];
		
		// iArr[i]의 주소값을 tem[i]로 복사함
		// 참조변수, 주소값을 넣어줬기 때문에, 참조하는 주소값이 같아짐
		for (int i=0; i<iArr.length; i++) {
			// 참조변수 중요함✅✅✅✅✅✅
			// iArr의 배열값을 tem의 배열에 복사해줌
			tem[i] = iArr[i];
//			System.out.println(tem[i]);
		}
		
//		iArr = tem;
		// tem의 값은 변화해도 iArr의 값은 변경되지 않음
		// 왜냐 tem[i] = iArr[i];에서 보면 알듯 iArr의 값으로 tem값을 참조하고 있기 때문에 
		tem[0] = 300;
//		tem[i] = iArr[i];를 보면 알수 있듯 참조변수로 주소값을 줬기 때문에 값이 변경됨
		iArr[1] = 400;
		
		
		// i값을 한번에 받아옴
		for(int n:iArr) {
			System.out.println(n);
		}
		
		int iArr2[] = {1,2,3};
		int arr3[] = new int[5];
		// iArr2의 0번째부터의 값을 => arr3배열에 넣을건데 2번째[2]부터 시작하여 / iArr2 길이만큼 복사
		System.arraycopy(iArr2, 0, arr3, 2, iArr2.length); // 0, 0, 1, 2, 3이 복사됨
		System.out.println(Arrays.toString(arr3));
		

		int arr4[] = null;
		// arr4에 arr3의 값 + 5칸을 추가할 수 있음/ arr3의 값을 받아와서 그 뒤로 5칸을 0으로 채워줌
		arr4 = Arrays.copyOf(arr3, arr3.length+5);
		// Arrays.toString로 값을 받아야 주소를 확인할 수 있음
		System.out.println(Arrays.toString(arr4));
	}
}

결과값 :


split 응용 실습

  • split이란 ()안에 있는 내용을 기준으로 자동으로 나누어 주는 기능을 한다.
package arrayex;

public class MainArgsEx {

	public static void main(String[] args) {
		
		String s = "100 200 300";
		// 공백을 기준으로 찾아줌
		String[] sArr = s.split(" ");
		System.out.println(sArr[0]);
		System.out.println(sArr[1]);
		System.out.println(sArr[2]);
		
		// sArr의 값을 전부 가져옴
		for (String i:sArr) {
			System.out.println(i);
		}
	}

}

결과값 :


profile
개발기록장

0개의 댓글