배열
1) 배열의 선언
요일들을 하나씩 변수로 표현하기 위해 하나하나 선언하고 사용한다는 것은 귀찮은 일이다. 이런 불편함을 해소하기 위해 자바의 배열을 사용한다.
배열이란 같은 자료형들이 모인 목록과 비슷한 개념이다.
type[] array = {value1, value2, ..., valueN};
자료형 뒤에 대괄호를 달게 되면 이 자료형의 배열을 사용하겠다 라는 의미가 된다!
2) 배열의 요소에 접근하기
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(days[0]);
System.out.println(days[6]);
}
}
월, 일이 출력된다.
3) 배열의 길이 알아내기
요소의 길이를 나타내는 length를 이용하여 배열의 길이를 출력할 수 있다.
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
int lengthOfDays = days.length;
System.out.println(lengthOfDays);
}
}
7이 출력된다.
4) 배열을 반복문에 사용하기
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
for (int i = 0; i < days.length; i = i + 1) {
System.out.println(days[i] + "요일");
}
}
}
5) 배열의 특정 요소 바꾸기
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
days[0] = "일" ;
for (int i = 0; i < days.length; i = i + 1) {
System.out.println(days[i] + "요일");
}
}
}
days[0]과 같이 특정 요소에 접근해 어떤 값을 대입해주면 값을 변경하는 것이 가능하다.
6) 세련된 반복문 for-each
for (type element : array) {
실행할 코드
}
* type : 배열 요소의 자료형
* element : 반복문 안에서 현재 요소를 지칭할 이름
* array : 반복문을 적용할 배열
예제
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
for (String day : days) {
System.out.println(day + "요일");
}
}
}
7) 배열의 한계
배열에서의 주의할 점
- 배열의 마지막 요소의 인덱스보다 뒤의 번호로 접근하면 오류가 발생한다.
- 배열의 크기는 만들어내는 동시에 정해지는 것이기 때문에 이후에는 배열의 길이를 변경할 수 없다.
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
days[7] = "일";
}
}
}
8) 배열에 값 추가하기
public class ArrayExample {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
String[] days2 = Arrays.copyOf(days, 8);
days2[7] = "일";
for (String day : days2) {
System.out.println(day);
}
}
- days2 라는 이름으로 새로운 문자열 타입의 배열을 선언하고 Arrays.copyOf라는 배열 복사 기능을 이용해 days를 복사한다. (첫 번째 입력값으로 복사할 배열, 두번째 입력 값으로 새로 만들 배열의 길이를 입력해준다.)
- days2의 마지막 요소의 값으로 "일"을 추가해준다.
9) 배열을 통으로 출력하기
Arrays.toString
import java.util.Arrays;
public class ArrayToString {
public static void main(String[] args) {
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(days);
System.out.println(Arrays.toString(days));
}
}
배열을 그냥 출력하면(days) 이상한 문자가 출력되지만,
Arrays.toString을 이용하면 배용의 내용이 한번에 출력된다.
10) 2차원 배열
: 배열들의 배열. (선이 아닌 면의 형태)
import java.util.Arrays;
public class TwoDimensionalArray {
public static void main(String[] args) {
String[][] days = {
{"월", "화", "수", "목", "금", "토", "일"},
{"월", "화", "수", "목", "금", "토", "일"},
{"월", "화", "수", "목", "금", "토", "일"}
};
System.out.println(Arrays.toString(days[0]));
System.out.println(Arrays.toString(days[1]));
System.out.println(Arrays.toString(days[2]));
}
}
유투브 "초간단 자바"님 영상을 통해 공부한 내용입니다 !
www.youtube.com/watch?v=1Y9bijpqSug
'Language > Java' 카테고리의 다른 글
파일 읽고 쓰기 (0) | 2021.04.02 |
---|---|
숫자 맞추기 게임 만들기 (0) | 2021.03.31 |
반복문 (0) | 2021.03.30 |
조건문 (0) | 2021.01.30 |
사용자 입력과 예외 처리 (0) | 2021.01.26 |