배열 :
참조 변수로 stack영역에 할당되며 배열 공간의 주소를 저장
배열 공간의 주소를 이용해 인덱스를 참조하는 방식으로 값을 처리한다.
배열 생성 방법
int[] num = new int [5];
배열 생성 및 초기화 1
int[] num = new int[] {1,2,3};
배열 생성 및 초기화 2
int[] num = {1,2,3};
배열 복사 :
얕은 복사
int [] num1 =new int[4];
int [] num2 = num1
깊은 복사 방법 4가지
for(int i = 0; i < arr1.length; i++) {
arr2[i] = arr1[i];
}
System.arraycopy(arr1, 0, arr2, 0, arr1.length);
arr2 = Arrays.copyOf(arr1, arr1.length);
arr2 = arr1.clone();
실습문제 : 배열
길이가 10인 배열을 선언하고 1부터 10까지 순서대로 배열을 출력하는 문제이다
public void practice1_0() {
int[] arr = new int[10]; // 1. 먼저 배열의 길이가 10을 가지는 배열 참조 변수 arr을 선언한다.
int count = 1;
for(int i = 0; i < arr.length; i++) { // 2. int = 0, 배열의 인덱스 길이 0부터 시작을 해 배열 인덱스에 값을 저장한다
arr[i] += count++; // // 2. arr[i] [] 안에 i를 통해서 해당하는 인덱스 위치를 할 수 있다.
Syste.out.print(arr[i]); // i 초기값이 0이므로 인덱스 0번부터 시작을 한다. 이때 나는 증감연산자를 통해서
if(i != arr.length) { // 인덱스는 1부터 10까지 입력이 되게 만들었다 와 동일한 뜻이다 arr[i] = i + 1;
System.out.print(" ");
}
}
}
이번에는 10부터 1까지 내림차순으로 출력을하는 문제이다
public void practice2() {
int[] arr = new int[10]; // 배열의 길이가 10인 변수를 선언
//
for (int i = 0; i < arr.length; i++) { // arr[i] 인덱스에 i 값이 증가함에 따라 인덱스에다가 원하는 값을 입력이
arr[i] = arr.length - i; // 이 가능하다 arr.length는 10의 길이를 가지는 배열이다 - i
// 이 가능하다 arr.length는 10의 길이를 가지는 배열이다 - i는 배열 System.out.print(arr[i]); // - i는 반복문이 수행하는 동안 값이 증가해 길이 10이라는 값에서
if (i != arr.length) { // 반복문의 조건을 수행할 때 까지 반복 수행한다
System.out.print(" ");
}
}
}
String[] str = new String[] { "사과", "귤", "포도", "복숭아", "참외" };
// System.out.print(num[i]); // 배열 안에 사과, 귤, 포도, 복숭아, 참외라는 String 자료형의
// 배열을 선언한다
for (int i = 0; i < str.length; i++) { // for문으로 i가 str.length를 조건을 만족할 때 까지 반복을 수행한다
if (str[i].equals("귤")) { // str[i].equals("귤") if가 str[] 배열 i번째 귤이라는 값을 만족을 하면
System.out.print(str[i]); // 귤을 출력을 한다
}
}
}
'Java' 카테고리의 다른 글
KH 교육과정 (7일차) 자바_ 배열 실습 및 2차원 배열 (0) | 2024.06.19 |
---|---|
KH 교육원 개발자 교육과정 (6일차) 배열 실습 (0) | 2024.06.18 |
자바 특징 (장단점) (0) | 2024.06.17 |
Java 개발자 양성과정 KH 교육원 1주차 (6월11 ~6월 14일) 내용 정리_2 (0) | 2024.06.16 |
주말) 문제풀이 6월 11일 ~ 14일 KH 교육 실습 문제 변수,형변환,조건문 (0) | 2024.06.15 |