컴퓨터공학 💻 도서관📚
Part2. 2-20 배열 본문
배열 : 동일한 자료형의 순차적 자료 구조
배열에는 기본 자료형 배열과 객체 배열이 있다
인덱스 연산자[ ] 를 이용하여 빠른 참조가 가능
Arraylist 는 JavaUtil 패키지 안에서 제공되는 객체 배열을 구현해 놓은 클래스이다.
논리적 위치 : A옆에 B가 있다
물리적 위치 : 실제 메모리 상에서의 위치
배열은 논리적 위치와 물리적 위치가 동일하다
연결 리스트는 논리적 위치와 물리적 위치가 다르다 (연결 리스트는 다음 노드의 메모리 상에서의 위치가 바로 다음이 아니다
* 배열 선언하는 법
int[] arr1 = new int[10]; // 둘 다 가능하지만 자료형인 int[]을 먼저 쓴다는 점에서 1번째가 더 직관적이다.
int arr2[] = new int[10];
* 배열 초기화 하는 법
배열은 new 키워드로 선언을 하면, 선언과 동시에 자료형에 따라 초기화 된다 ( 정수는 0, 실수는 0.0, 객체는 null)
int[] numbers = new int[] {10, 20, 30}; //개수 생략해야 함
int[] numbers = {10, 20, 30}; // new int[] 생략 가능
int[] ids;
ids = new int[] {10, 20, 30}; // 선언후 배열을 생성하는 경우는 new int[] 생략할 수 없음
* 배열의 길이와 요소의 개수는 동일하지 않다.
배열의 length 속성은 배열의 개수를 반환해주기 때문에 요소의 개수와는 다르다
// length를 활용하여 오류가 나는 경우
double[] dArr = new double[5];
dArr[0] = 1.1;
dArr[1] = 2.1;
dArr[2] = 3.1; // dArr[3], dArr[4] 의 값은 0이다.
double mtotal = 1;
for(int i = 0; i< dArr.length; i++) {
mtotal *= dArr[i]; // 다 곱하면 0이 된다
}
System.out.println(mtotal); // 출력 결과 : 0
// 그래서 요소의 개수에 대한 변수(count)를 따로 유지해야 한다
double[] dArr = new double[5];
int count = 0;
dArr[0] = 1.1; count++; // count 변수로 개수 세기
dArr[1] = 2.1; count++;
dArr[2] = 3.1; count++;
double mtotal = 1;
for(int i = 0; i< count; i++) {
mtotal *= dArr[i];
}
System.out.println(mtotal);
향상된 for문 (enhanced for) : for( 변수 : 배열) { }
ex. for(int num : arr) { }
(파이썬의 for num in arr: 와 비슷하다)
public class CharArrayTest {
public static void main(String[] args) {
char[] alpahbets = new char[26];
char ch = 'A';
for(int i = 0; i<alpahbets.length; i++) {
alpahbets[i] = ch++;
}
for(char alpha : alpahbets) { // alpahbets 배열 안에 있는 변수 alpha
System.out.println(alpha +","+ (int)alpha);
}
}
}
'✅🌲강의 복습 노트 > 패캠 JavaSpring 강의,코드 복습' 카테고리의 다른 글
Part2. 2-19 static과 싱글톤 패턴 복습 (0) | 2025.02.04 |
---|---|
Part2. 2-18 싱글톤 패턴 : 프로그램에서 인스턴스가 유일해야 하는 경우 사용하는 디자인 패턴 (0) | 2025.02.03 |
Part2. 2-17 static 메서드 (0) | 2025.01.30 |
Part2. 2-16 static 변수: 여러 인스턴스에서 공통으로 사용하는 변수 (0) | 2025.01.28 |
Part2. 2-13, 14, 15 객체 간의 협력 (0) | 2025.01.02 |
Comments