[ 동적 가변 배열 ]
package jun13;
import java.util.Iterator;
//동적 가변 배열
public class DynamicArray01 {
public static void main(String[] args) {
char[][] stars = new char[10][]; //동적가변배열로 선언
// 모든 집을 돌아다니면서 동적으로 방을 만들어줘야 사용가능합니다.
for (int i = 0; i < stars.length; i++) {
stars[i] = new char[i+1]; // --> 이해중요* // 2차원배열 = 배열 속 배열
for (int j = 0; j < stars[i].length; j++) {
stars[i][j] = '*'; // 따옴표 하나(char) 주의*
}
}
// print
for (int i = 0; i < stars.length; i++) {
for (int j = 0; j < stars[i].length; j++) { // j < stars[i].length 범위중요*
System.out.print(stars[i][j]);
}
System.out.println(" ");
}
}
}
[ 동적 가변 배열 + 랜덤정수 ]
package jun13;
import java.util.Arrays;
import java.util.Iterator;
public class DynamicArray02 {
public static void main(String[] args) {
char[][] stars = new char[10][];
// 내부 크기를 랜덤하게 잡아주세요. 1~10까지
for (int i = 0; i < stars.length; i++) {
int num = (int) (Math.random()*10 +1); // stars[i] = new char[(int) (Math.random()*10 +1);]; 내부생성
// 값대입
stars[i] = new char[num];
for (int j = 0; j < stars[i].length; j++) {
stars[i][j] = '*';
}
}
// print
for (char[] cs : stars) {
System.out.println(Arrays.toString(cs ));
}
}
}
* 배열에 너무 집중할 필요는 없지만,
추후 배열을 기반으로 만들어진 것들을 많이 사용할 예정이니
이해는 하고 넘어가기*
[ 배열복사 ] _깊은복사 & 얕은복사
int[] arr01 = new int[] {50, 40, 30, 20, 10};
int[] arr02 = arr01; // arr01과 arr02는 연결( 2가 1의 값을 참조 -> 즉, 메모리 주소값 복사)
int[] arr03 = arr02; // 얕은 복사
arr01[0] = 100;
arr03[0] = 99; // 연결되어 있는 모든 배열의 값이 함께 변경됨
System.out.println(Arrays.toString(arr01)); // [99, 40, 30, 20, 10]
System.out.println(Arrays.toString(arr02)); // [99, 40, 30, 20, 10]
System.out.println(Arrays.toString(arr03)); // [99, 40, 30, 20, 10]
// .arraycopy 메서드사용
int[] arr04 = new int[3];
System.arraycopy(arr02, 0, arr04, 0, 3); // arr02의, 0번째값부터, arr04에, 3개복사
System.out.println(Arrays.toString(arr04)); // [99, 40, 30]
책 p.195~
'국비과정 > JAVA (기초)' 카테고리의 다른 글
20230613 _[8일차]_06. 연습문제* (0) | 2023.06.14 |
---|---|
20230613 _[8일차]_05. String 사용법 * (0) | 2023.06.14 |
20230613 _[8일차]_03. Switch* (0) | 2023.06.13 |
20230613 _[8일차]_02. 날짜 & 시간 메서드 * (0) | 2023.06.13 |
20230613 _[8일차]_01. 연습문제 * (0) | 2023.06.13 |