[Java]Array : 배열

dnjsrms.lee·2022년 6월 3일
0

Java

목록 보기
5/14
post-thumbnail

Array(배열)

  1. Array(배열 기초)
  • new : 객체 생성 연산자
  • JVM ⇒ new를 만나는 순간 메모리 공간을 확보
    • new int[6];일 경우 int 타입의 데이터 6개를 저장하는 의미
    • →int6개를 저장할 수 있는 24byte의 메모리 공각이 확보
  • int 타입의 배열 객체는 각 방(인덱스)에 0 ‘기본값’을 할당
  • new int[6]; ⇒ 0~5의 인덱스를 자동으로 할당한다(배열의 default 초기화)
  • new double[6]; ⇒ 배열의 default 초기화
  • 확보된 메모리의 주소를 알아야 배열 객체를 사용할 수 있음
  • Datatype[ ] 참조변수;
    • 참조변수에 배열객체의 위치 정보를 넣어 메모리 상의 객체를 사용 ⇒ 배열 객체에 접근이 가능하게 해줌
    • 참조변수 = new Datatype[배열크기]; <값이 아닌 주소 정보를 갖는 변수>
    • Ex) int[ ] total = new int[6];
      • 존재하지 않는 인덱스에서 작업하려 할 때 Eclipse 상에 뜨는 error 메세지 : ArrayIndexOutOfBoundsException
  • length변수
    • 배열객체의 길이를 확인할 때 사용
    • ex)참조변수.length
  • 원래 배열은 같은 타입의 데이터만 저장할 수 있다.
  • 배열은 타입변환이 가능한 경우에 한해서 다른 타입의 데이터도 저장할 수 있다.
  • 명령 행 매개변수
    • args : 매개변수
    • String[ ] : 문자열 배열
    • 데이터 전달 : Eclipse Run As → Run Configurations → arguments
    • 문자열을 숫자로 변환 : Integer.parseInt( );
  1. 다차원 배열
    • 일차원 배열 - 단 층의 호텔
    • 이차원 배열 - 여러층의 호텔(일차원 배열이 여러개 쌓여 있다고 생각하면 쉬움) 이중 for문 사용
    • 다차원 배열 - 배열에 대한 또 다른 배열
public static void main(String[] args){
	int[][] scoreList = new int [2][5];
}
에서 scoreList[1][3][2]1차원의 1번 배열의 객체에 접근하여,  0~4번 방 중 3번방에 접근하고, 
3번방의 주소 인덱스의 (0,1,2)에 접근 가능하다.
  • 데이터 타입[ ][ ] 배열변수
    • Ex) new int[2][5] → [가로줄][세로줄]

      00000
      00000
    • 칸 마다의 위치

      [0,0][0,1][0,2][0,3][0,4]
      [1,0][1,1][1,2][1,3][1,4]
    • null : 참조변수가 주소를 갖지 못하는 상황. 즉, 참조변수가 아무런 객체도 참조하지 않는 상태.(주소가 없는 것)

    • API를 이용

      • Java에서 배열이나 리스트를 정렬하고자 할 때 java.util.Arrays클래스의 sort()매서드를 사용하면 간편하게 정렬이 가능함.
      • Arrays클래서는 배열의 복사, 항목 정렬, 검색과 같은 배열 조작 기능을 가지고 있음
profile
little by little slowly

0개의 댓글