BigData 청년인재 프로그램(Java) - 6. 배열(Array)

6. 배열(Array)
6/27(화)Day02

-역할이 다르면 변수를 다르게 선언하기
-선언하면 메모리가 다르게 잡힌다
-같은 이름의 변수인지는 중요하지 않다. 참조값이 중요하다
-선언은 매우 중요함
-최근은 배열안스는 추세 why? -> 배열은 선언과 함께 할당되는 메모리 크기 고정 ->collection, list, map, set, vector을 사용

#변수 vs 배열
-둘다 데이터를 저장함
-1개저장 vs 동일 데이터타입+여러개 저장
-int a; vs int[] a;
-선언과함께 할당 vs new로 메모리 할당
-참조변수로 구분 vs 참조변수+index로 구분

#class와 배열
-class : 사용자 정의 데이터타입(C언어의 구조체와 유사)
-class와 배열의 차이 : class는 필드뿐 아니라 메소드도 추가됨
-class의 기본제공 데이터타입 : Object, String, ...
-class의 사용자정의 데이터타입 : Student, ...(class 정의로 데이터타입 생성)


<1. 배열이란?>
1.1 동일 데이터 타입의 많은 데이터를 하나로 묶어 그룹으로 관리하기 위한 메모리 공간
1.2 배열에 저장된 원소들은 서로 연속적으로 위치
1.3 배열도 객체이므로 new 키워드로 배열객체를 생성해야 함
1.4 생성후 배열의 크기는 불변
ex)int a, a2, a3; vs int[] a = new int[3];
-선언+할당 vs 선언이후 new로 객체생성 및 메모리 할당
-변수명이 여러개 vs 변수명 한개(a : 참조변수)

<2. 1차원 배열>
2.1 1차원 배열 선언 : [접근제한자] 타입[] 배열명; 또는 [접근제한자] 타입 배열명[];
ex) private int[] a; 또는 private int a[];
2.2 1차원 배열 생성 : 배열명 = new 타입[배열크기];
ex) a = new int[3];
2.3 1차원 배열 요소(원소) 초기화 : 배열명[index] = 값;
ex) int[0] = 10;
2.4 1차원 배열길이반환 : 배열명.length
2.5 1차원 배열 선언+생성 : private String[] args = new String[10];
2.6 1차원 배열 선언+생성+초기화 : private int[] a = {1,2,3};
2.7 1차원 기본형 데이터타입 


2.8 1차원 참조형 데이터타입
<3. 2차원 배열>
-2차원 배열은 행과 열로 구성되어있는 배열
-행과 열은 각각의 객체로 생성됨
-행마다 열의 크기를 각각 다르게 생성가능
3.1 2차원 배열 선언 : [접근제한자] 타입[][] 배열명;
int[][] a;
3.2 2차원 배열 생성 : 배열명 = new 타입[행크기][열크기];
a = new int[2][3];
3.3 2차원 배열 초기화 : 배열명[행index][열index] = 값;
a[0][0] = 10;
3.4 2차원 배열의 행길이 : 배열명.length
a.length;
3.5 2차원 배열의 열크기 : 배열명[행index].length
a[0].length;
3.6 가변배열 : 
1)선언과 행 객체 생성 : int[][] a = new int[2][];
2)열 객체 생성 : a[0] = new int[10]; a[1] = new int[20];
#선언+생성+초기화
int[][] nums = {{1,2,3}, {10,20,30,40}};


댓글

이 블로그의 인기 게시물

1장_1절 관계형 데이터베이스 개요

1장_2절 DDL(Data Definition Language : 데이터 정의어)

1장_5절. Where 조건절