

1.배열
// array 배열
// 자바에서 배열은 동일한 데이터 유형을 가진 항목들의 묶음이다.
// 변수는 한번에 하나의 데이터만 취급하지만
// 배열은 한번에 여러 개의 데이터를 취급한다.
public class Main {
public static void main(String[] args) {
// 변수 만드는 방법
String a; // 문자 하나만
int b; // 숫자 하나만
// 배열 만드는 방법 1
String[] str; // 문자 여러개
int[] num;
// 배열 만드는 방법 2 - 크기 지정
String[] str2 = new String[3]; // 3개의 문자
// 실습
int[] num2; // num2라는 이름의 기본 배열만 생성
num2 = new int[3]; // 3개의 값을 넣도록 설정
num2[0] = 10; // 인덱스 즉 순서 몇 번째 위치에 값을 넣는다.
int number = num2[0]; // 배열에서 꺼내는 방법
System.out.println(number);
// 실습 2
int[] numbers = {1, 2, 3}; //가장 많이 사용되는 방법
//System.out.println(nubers[0]);
//System.out.println(nubers[1]);
//System.out.println(nubers[2]);
for(int i = 0; i < numbers.length; i++){
System.out.println(i);
}
// 배열의 요소 값을 변경하는 방법
numbers[2] = 5;
for(int i = 0; i < numbers.length; i++){
System.out.println(i);
}
가장 많이 접하게 되는 에러…인덱스와 실제 갯수를 혼동하지 말자.

// 동적 배열 사용을 위해서는 기능 먼저 가져오게 된다.
import static org.junit.Assert.assertArrayEquals;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
// 배열은 여러개의 데이터를 관리하기 편리하다
// 하지만 배열은 한번 크기가 만들어지면 그 크기를 변경할수 없다.
// 따라서 크기를 변경해야하는 일이 발생하게 되면
// 새로운 크기의 배열을 새로 만들고 기존 배열의 데이터를 복사하여 사용해야한다.
//Quiz 배열 복사
int[] nums1 = {1, 2, 3};
int[] nums2; //new int[5]; // 4,5 추가하여 새로 만들어 보세요
// 자바에서 배열은 한번 생성되면 그 크기를 변경할수 없다.
// 따라서 크기를 변경해야하는 경우에는 동적 배열(arraylist)을 사용한다.
// 동적 배열은 기본 배열과 아주 유사하나 요소를 추가/제거/수정을 자유롭게 할수 있다.
// 동적 배열 생성
ArrayList<Integer> nums3 = new ArrayList<>();
//<Integer>제너릭은 데이터의 형을 제한하다.
// 동적 배열에 데이터 추가
nums3.add(1);
nums3.add(2);
nums3.add(3);
// 동적 배열에서 데이터를 가져오기
int num1 = nums3.get(0);
System.out.println("1번째 요소 : " + num1);
//동적 배열 데이터 전부 출력 for문 사용
for(int i = 0; i < nums3.size(); i++) {
int num = nums3.get(i);
System.out.println(i+1 + "번째 요소 : " + num);
}
//동적 배열에서의 데이터 삭제
nums3. remove(0);// 인덱스 값 삭제
//동적 배열에서의 갯수 확인
System.out.println("동적배열갯수확인 : " + nums3.size());
// 동적 배열 역순 출력
for(int i = nums3.size()-1; i >= 0; i--) {
int num = nums3.get(i);
System.out.println((i-1) + "번째 요소 : " + num);
}
}
}