타입[] 변수이름;
타입 변수이름[];
변수이름 = new 타입[길이];
변수이름.length
- 같은 타입의 여러 변수를 하나로 묶은 것
- 각 저장공간이 연속적으로 배치되어 있다.
- 변수에는 실제 값이 아닌 배열의 주소값이 저장된다.
- 배열의 길이는 int범위의 양의 정수(0포함)이어야 한다.
- 배열 생성과 동시 타입의 기본값으로 초기화된다.
- 배열 값을 바로 출력하면
타입@주소 형식으로 출력된다.
→ 이때 주소는 16진수로 실제 주소가 아닌 내부 주소이다.
- char 배열의 경우 각 요소가 바로 출력된다.
→ println 메서드가 char 배열일때만 이렇게 동작하게끔 작성되었다.
배열의 복사
- 배열은 한번 생성하면 그 길이를 변경할 수 없기에 더 많은 저장공간이 필요하면 새로운 배열을 생성 후 이전 배열로 부터 내용을 복사해야한다.
- 반복문을 사용해서 복사한다.
- System.arraycopy()를 사용해서 복사한다.
String 배열
- String은 기본형이 아닌 객체 타입으로 배열에 실제 객체가 아닌 객체의 주소가 저장되어 있다.
char배열과 String 클래스
- 문자열은
문자를 연이어 늘어놓은 것 으로 char 배열과 같은 뜻이다.
- java에서 char 배열이 아닌 String클래스로 문자열을 처리하는 것은
String 클래스가 char 배열에 여러 기능을 추가하여 확장 한것이기 때문이다.
커맨드 라인을 통해 입력받기
java class를 실행할때 사용자로부터 값을 입력받을 수 있다.
java MainTest abc 123
// java main 함수의 String[] args 매개변수에 전달되어 main 함수에서 사용할 수 있다.
- 값을 전달하지 않으면 본래 null이 전달되어 에러가 발생하지만
JVM이 null 대신 0인 배열을 생성하여 전달한다.