오늘은 배열 기초에 대해 공부 해 보았다.
변수를 여러개 쓰기보다 배열을 이용하면 간단하게 처리할 수 있다.
배열은 생성과 동시에 자신의 타입에 맞춰 기본값으로 초기화된다.
int subject = new int[4]; // 배열길이 변경
for (int i=0; i<5; i++) {
System.out.println(subject[i]);
} //에러
배열의 길이를 [5]에서 [4]로 변경했을 때
위의 조건식과 같은 형태로 쓴다면 배열길이를 수정할 때 마다 조건식도 수정해줘야한다.
for (int i=0; i < subject.length; i++) {
System.out.println(subject[i]);
}
따라서 조건식을 쓸 때 애초부터 정수가 아닌 '배열이름.length'로 적어주는것이 나중에 조건식을 변경하지 않아도 되므로 훨씬 좋다.
for (int i=0; i<num.length; i++) {newNum[i] = num[i];}
// for문 이용 시 배열의 요소 하나하나 접근하여 복사
System.arraycopy(num, 0, newNum, 0, num.length);
// arraycopy()는 지정된 범위의 값을 통으로 복사
// num[0]에서 newNum[0]으로 num.length개 복사
for (int[] tmp : score) {
for (int i : tmp) {
sum += i;}}
이때 주의할 점은 score의 각 요소는 1차원 배열이므로 tmp에 저장하기위해 두번째 줄에 for문을 하나 더 추가해야한다.
(향상된 for문으로 배열의 각 요소에 저장된 값들을 순차적으로 읽어올수는 있지만 변경할수는없다.)
기본형 변수의 값 비교의 경우 '=='연산자를 사용하지만 문자열 내용 비교의 경우 equals()를 사용해준다.
(대소문자 구분않으려면 equalsIgnoreCase() 사용)