1차원 배열은 동일한 자료형의 집합을 의미한다.

즉, 배열이란 자료형의 종류(int,float,double)가 아닌 자료형의 집합을 의미한다.

변수 여러개를 선언한 것과 같은 효과가 있다. (int a,int b,int c)

자바는 이러한 배열을 단순한 배열이 아니라 객체로 만들어 관리한다.

배열의 특징

배열의 생성 방법

기본 예제

package com.java.array01;

public class Array02 {

	public static void main(String[] args) {
		// 배열 > 1차원 배열

		//1.배열 생성 (선언)
		//1.1 선언
		int arr [];
		int [] arr1; //[]의 순서는 상관없다.
		//int arr2[5]; 배열의 길이를 설정하면 에러발생. c언어는 가능
		
		
		//1.2 선언 +할당 -> 기본값으로 초기화 {0,0,0,0,0 }
		int arr2 []=new int[5];
		
		
		//1.3 선언 +할당 +초기화
		int arr3[] = new  int[] {1,2,3,4,5};
		//생략형
		int arr4 []= {1,2,3,4,5};
		
		//2.배열 할당(자동초기화) 메모리에 공간을 할당
		//배열의 크기 :4*5=20바이트, 힙에 생성되고 초깃값은 0으로 초기화
		arr=new int[5];   //int arr []=new int[5]; {0,0,0,0,0 }
		
		//문자열 배열 
		
		String [] st=new String[3]; //{null,null,null}
		
		//3.값을 대입(접근) :index를 이용해서 접근
		arr[0]=1;
		arr[1]=2;
		arr[2]=3;
		arr[3]=4;
		arr[4]=5;
		
		//출력
		System.out.println("배열의 첫번째 값은"+ arr[0]+"입니다.");
		System.out.println("배열의 두번째 값은"+ arr[1]+"입니다.");
		System.out.println("배열의 세번째 값은"+ arr[2]+"입니다.");
		System.out.println("배열의 네번째 값은"+ arr[3]+"입니다.");
		System.out.println("배열의 다섯번째 값은"+arr[4]+"입니다.");
		
		
		
	}

}

배열의 접근

배열의 이름은 배열의 첫번째 주소값을 가지고 있고, 배열의 이름을 통해서 배열에 접근한다.

만일 ,배열의 요소에 접근하고자 할 때 배열의 인덱스를 통해서 접근한다.

배열의 인덱스는 배열의 순서이다. 실제로 배열의 길이를 나타낸다

따라서 연속하여 배치되기 때문에 각 배열의 원소에 접근 할 때 주소값을 몰라도 된다.

개별 인덱스를 통하여 배열의 요소에 접근하는 방법

package com.java.array01;

public class Array03 {

	public static void main(String[] args) {
		// 1차원 배열 > 배열의 요소 접근 
		//int형 배열을 만들고 10,20,30,40,50,을 대입하시오.
		//1.선언+할당
		int[] arr = new int[5];
		
		//2.값 대입
		arr[0]=10;  //첫번째 요소
		arr[1]=20;
		arr[2]=30;
		arr[3]=40;
		arr[4]=50;  //마지막 요소
		
		
		//3.출력(for)
		
//		System.out.println("배열의 첫번째 값은"+ arr[0]+"입니다.");
//		System.out.println("배열의 두번째 값은"+ arr[1]+"입니다.");
//		System.out.println("배열의 세번째 값은"+ arr[2]+"입니다.");
//		System.out.println("배열의 네번째 값은"+ arr[3]+"입니다.");
//		System.out.println("배열의 다섯번째 값은"+arr[4]+"입니다.");
		
		for(int i=0;i<5;i++) {
			System.out.println(arr[i]); //i=0,1,2,3,4
		}
			

	}

}