728x90
: 데이터형이 동일한 자료에 같은(하나의) 변수명을 정의한 자료들의 집합
- 데이터형이 동일한 자료
- 같은(하나의) 변수명을 정의
- su[0] , su[1] , ... -> 번지(인덱스). 데이터를 구분하기 위해서 사용함
- ==> su라는 배열변수에 복수 데이터를 대입
- 시작번지는 0번지
- 첫번째 데이터부터 인덱스(자동번호)
- 배열의 크기가 정해지면 인덱스를 벗어나는 참조를 하면 안됨
-
배열 => 객체취급
-
자료형 앞에 대괄호가 들어가는 순간 참조변수가 된다.
int su; //한개의 데이터 입력
int[] su; //여러개의 데이터 입력(배열)
int[] su3 = {10,11,12};
System.out.println(su3[1]); //데이터 사용
System.out.println(su3[5]); //에러발생. 범위 초과
int [] su3 = {10, 20, 30};
번지 인덱스 --> 0 1 2
----> 배열의 크기(요소 갯수) : 3 (인덱스 0~2)
<5000 데이터 출력>
System.out.println(5000);
int su=5000;
System.out.println(su);
int []suArr={5000};
System.out.println(suArr[0]);
A[] suArr = {new A(), a};
System.out.println(suArr[0]);
- 배열의 크기(배열의 요소갯수)를 구하는 속성: 배열명.length (배열은 객체다)
- 배열선언시 []는 변수명 앞에 또는 뒤에 붙여도 상관이 없다.
선언방식 차이
// su1[] / []su1 차이점
int su1[], su2; // su1은 int배열, su2는 int변수
int []su1, su2; // su1,su2 둘다 배열
배열 형식
자료형[] 배열명 = { 데이터List(콤마로 구분되는 데이터) };
-
배열선언과 동시에 데이터를 초기화.(이미 데이터가 확정되었을때 사용)
-
주의: 배열선언과 데이터 초기화하는 부분을 따로 작성할 수 없음
int[] su; //배열선언
su = {1,2,3,4,5}; //배열초기화 (x)
int[] su = {1,2,3,4,5}; //선언과 초기화 (o)
A a = new A() ;
A[] su2 = { a,new A(), new A()};
배열 객체생성식
자료형[] 배열명 = new 자료형[배열크기];
-
프로그램 실행 도중 데이터 값을 입력할때(변경할때) 주로 사용
-
배열선언과 데이터 초기화하는 부분을 따로 작성하는 것이 가능
-
배열크기[]는 반드시 자료형 뒤에 위치해야 함
-
배열크기에 정수값이 반드시 입력되어야함
-
데이터가 정해지지 않고 앞으로 입력받을 데이터들이 저장될 방(공간)만 준비
-
배열 객체생성을 하게 되면 그 위치에 상관없이 각방에는 초기값이 부여됨 (멤버변수 처럼 각 자료형의 기본값이 입력됨)
int[] su; //배열선언
su = new int[5]; //배열초기화 (su 배열변수에 5개의 정수를 입력받겠음, 빈방 5개 생성)
==> int[] su = new int[5];
==> 데이터 입력: su[0] = 11;
2차원 배열
-
실제 저장은 1차원 배열과 같으나 논리적으로 데이터를 행과 열의 형태로 저장한다고 생각
-
행 사이즈는 반드시 기술해야 함. 열사이즈는 생략하는 것이 가능
//배열선언
int[][] su;
int su[][];
int []su[];
int[][] su = {{1,2,3} , {4,5,6} };
-> 행 데이터
0행 1행
열:0 1 2 열: 0 1 2
System.out.println(su[0][2]); //0행 2열 데이터 ==>3
System.out.println(su[1][1]); //1행 1열 데이터 ==>5
su.length ---> 행의 갯수 ==> 2
su[0].length ==> 0행의 열의 갯수 ==> 3
su[1].length ==> 1행의 열의 갯수
==> for(int i = 0; i<su.length; i++) { //기준(행) :행의 인덱스 표현 0,1
for(int j = 0; j<su[i].length; j++ ) { //각행의 열 인덱스 : 0 1 2
System.out.println( su[i][j] ); // ==>su배열 i행 j열
'Web develop > JAVA' 카테고리의 다른 글
[JAVA] 자바 클래스 객체생성법 (0) | 2019.04.24 |
---|---|
[JAVA] 추상클래스(abstract class) (0) | 2019.04.24 |
[JAVA] 자바빈즈(JavaBeans) (0) | 2019.04.24 |
[JAVA] 자바 인터페이스 형식, 사용 예시 (0) | 2019.04.23 |
[JAVA] 자바 this 레퍼런스 변수 형식, 사용법 (0) | 2019.04.22 |