배열
배열의 선언
배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이고,
배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다.
참조변수를 통해 데이터가 저장된 공간에 접근한다.(객체)
int[] score
배열의 생성
배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다.
int[] score = new int[5]
배열의 길이
이미 생성된 배열의 길이는 변하지 않는다(컬렉션과비교).
배열 선언시 주의사항
int[] score;
score = new int[] {1,2,3,4,5} // ok
score = {1,2,3,4,5} // 에러
- 배열의 선언과 생성을 따로 하는 경우에는 생략할 수 없다는 점을 주의
배열 출력
Arrays.toString();
배열의 값을 바로 출력할 경우에는 배열의 주소가 출력된다.
배열 복사
System.arraycopy(num, 0, newNum, 0, num.length);
num의 0번값을 newNum의 0번째로 num.length만큼 복사
String 클래스의 주요 메소드
char charAt(int index); 문자열에서 해당 위치(index)에 있는 문자를 반환한다.
int length(); 문자열의 길이를 반환한다.
length() 이것은 문자열의 길이 확인
length 배열의 길이 확인
size() 컬렉션 타입의 길이를 확인
String substring(int from, int to); 문자열에서 해당 범위(from ~ to)에 있는 문자열을 반환한다.(to는 범위에 포함되지 않는다)
boolean equals(String str); 문자열의 내용이 같은지 확인한다. 같으면 결과는 true, 다르면 false가 된다.
==로 비교할시에는 객체의 주소를 비교하기에 의도치 않은 결과가 발생할 수 있다.
char[] toCharArray(); 문자열을 문자배열(char[])로 변환해서 반환한다.
다차원배열에서의 for문 활용
int[][] score = {
{100,100,100}
,{20,20,20}
,{30,30,30}
,{40,40,40}
};
int sum=0;
for(int[] tmp : score) {
for(int tmpp : tmp) {
sum += tmpp;
}
}
가변배열
2차원 이상의 다차원 배열을 생성할 때 전체 배열 차수 중 마지막 차수의 길의를 지정하지 않고, 추후에 각기 다른 길이의 배열을 생성함으로서 고정된 형태가 아닌 보다 유동적인 가변 배열을 구성할 수 있다.
int[][] score = new int[5][];
score[0] = new int[3];
score[1] = new int[2];
score[2] = new int[4];
score[3] = new int[2];
score[4] = new int[3];
남궁성,『Java의 정석』,도우출판