본문 바로가기

Programming Language/JAVA

[JAVA] java 배열

 

배열
: 같은 자료형으로 연속된 메모리 공간에 할당하여 사용하는것

 

 배열의 쓰임
- 여러개의 변수를 한번에 선언한다.
- 같은 형의 변수들을 연속적으로 쓸 수 있다.

 배열 생성
- 배열 선언 시 [ ] 괄호가 1개일때 1차원이고, [ ][ ]2개일때 2차원배열이라고한다.
- 사용할 수 있는 배열의 요소의 첨자는 0부터 시작한다.
- 배열의 이름은 배열의 첫 번째 주소를 가지는 참조 변수이다.

예> DataType[] 배열이름;

 

 

 

public class Quiz {
	public static void main(String[] args) {
		int[] arr=new int[5];
		arr[0]=100;
		arr[1]=200;
		arr[2]=300;
		arr[3]=400;
		arr[4]=500;

		System.out.println("arr[0]: "+arr[0]);
		System.out.println("arr[1]: "+arr[1]);
		System.out.println("arr[2]: "+arr[2]);
		System.out.println("arr[3]: "+arr[3]);
		System.out.println("arr[4]: "+arr[4]);
		}
	}
}

* 배열
int[] arr=new int[5]; <- 이렇게 배열을 선언해줍니다. 현재 5개의 배열을 만들었습니다.
배열은 0부터 시작하기때문에 5개를 만들면 0,1,2,3,4라는 인자값을 갖습니다.
arr라는 변수에 0번째인자에 즉, arr[0]은 100을 저장하고, arr[1]에는 200을........arr[4]에는 500을 저장합니다.
그리고 순서대로 0~4까지의 인자를 불러 메시지를 출력해줍니다.

 

 

 

 

public class Quiz {
	public static void main(String[] args) {
		int[] arr=new int[5];


		for(int i=0;i<arr.length;i++) {
			arr[i]=(i+1)*100;
			System.out.println("arr["+i+"]: "+arr[i]);
		}
	}

}

위에서 했던 소스와 같이 console창으로 출력이 되지만, for문을 사용해서 만들어봤습니다.
먼저, arr변수에 5개의 배열을 생성하고, for문으로 i에 0을 먼저 인자로 대입하고 (i+1)*100으로 연산처리를 해줍니다.
이렇게 연산처리해주는이유는 0인자값에 100을 1인자값에 200을 저장하기 위해서 입니다.
그리고나서 순서대로 메시지를 출력해줍니다.

 

 

 

 

 

import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		String[] name = new String[3];
		
		for(int i=0;i<name.length;i++) {
			System.out.print(i+1+"번째 이름 입력 : ");
			 name[i]=input.next();
		}
		for(int i=0;i<name.length;i++) {
			System.out.println(i+1+"번쨰 값 : "+name[i]);
		}
	}

}

이번에는 데이터 타입을 String타입으로 name이라는 변수에 3개의 배열을 선언해보겠습니다.
우선 3개의 배열이면 앞서말했듯이 0,1,2만의 인자를 갖는 배열이 생성됩니다.
for문을 사용해서 1번째 이름 입력이라는 메시지출력한후, 사용자가 scanner를 통해 만든 변수인 input을 통해 name[]배열에 순서대로 각기다른 이름을 입력해줍니다.

 

예를들어 1."홍길동" / 2."박아무개" / 3."종알이" 모두 입력한다면, name[0]="홍길동 / name[1]="박아무개" / 
name[2]="종알이"라고 순서대로 저장이됩니다.
그값을 모두 for문을 통해 출력해주면 정삭적으로 나오는것을 보실수있습니다.