[자바] 2. 배열

개발자 춘식이·2023년 7월 3일
0

Java

목록 보기
2/8
post-thumbnail

도서 자바의신, 이것이 자바다를 참고하였습니다.

1. 배열(Array)

한 가지 타입에 대해서, 하나의 변수에 여러 개의 데이터를 넣을 수 있는 자료 구조입니다.

  • 타입[] 변수명;
  • 타입 변수명[];
  • 타입[] 변수명 = {초기화 배열}; -> 반드시 한번에 변수 선언 및 초기화 해야합니다.

세 가지 스타일로 배열을 선언할 수 있습니다. 범위를 넘는 배열에 값을 할당하거나 없는 값을 참조하려고 할 때 ArrayIndexOutOfBoundsException이 발생하게 됩니다. 인덱스 지정 없이 배열을 출력하면 다음과 같이 출력됩니다.
[Ljava.lang.String;@1540e9d

  • [ : 해당 객체가 배열이라는 뜻 입니다.
  • L : 참조자료형이라는 뜻 입니다.
  • java.lang.String : 어떤 타입의 배열인지 나타냅니다.
  • @1540e9d : 해당 객체의 고유 번호를 나타냅니다.

참고로 L외의 다른 타입들은 아래와 같습니다.

boolean byte char double float int long short
Z b c d F I J s

2. 2차원 배열

타입[][] 변수명;으로 선언된 배열입니다. 1차원만 단독으로 크기 지정이 가능하며, 1차원 크기 지정 없이 2차원 크기를 지정할 경우 컴파일 에러가 발생합니다.
ex) int[2][] (O), int[][2] 또는 int[][] (X)
또한 배열 공간의 크기는 서로 다르게 지정 가능합니다.


3. 배열 길이

배열명.length을 하게 되면 배열의 길이를 알 수 있습니다. 2차원 배열의 경우 1차원 배열의 크기를 알려줍니다.

int[][] twoDim = new int[4][2]; //towDim.length는 4

4. 배열을 위한 for 루프 -> 향상된 for문

for (타입이름 임시변수명 : 반복대상객체) {
	반복수행문;
}

Java5부터 추가된 문법입니다. 반복대상객체의 타입에 해당하는 임시변수를 조건문에 적고 반복 수행해야 하는 로직을 수행합니다.


5. 메인 메소드에 값 넘기기

$ javac 클래스명 값1 값2 값3 ...

public static void main(String[] args) 에 args로 넘길 값들을 지정할 수 있습니다.
예를 들어, 아래와 같이 작성해주면 ArrayMain 클래스에서 args를 출력한다고 했을 때 다음과 같은 결과를 나타냅니다.

$ javac ArrayMain a b c
a
b
c
$

지속적으로 수정해나갈 예정입니다.
2023-07-04 v1.0

profile
춘식이를 너무 좋아하는 주니어 백엔드 개발자입니다.

0개의 댓글