반응형

 

package array;

public class Array {

	public static void main(String[] args) {
		
		// ---------------------------- 방법 1 --------------------------
		
		int[] score = { 90 , 80 , 70 };
		
		// score[3]= 100; // 에러

		System.out.println("score[0]" + score[0]); // 90
		System.out.println("score[1]" + score[1]); // 80
		System.out.println("score[2]" + score[2]); // 70
		// System.out.println("score[3]" + score[3]); // 100
		
		
		int sum = 0;
		for (int i = 0 ; i < 3 ; i++)
		{
			sum = sum + score[i];
		}
		System.out.println(sum); //  240
		
		double avg = (double)sum / 3;
		System.out.println(avg); // 80.0

		// ---------------------------- 방법 2 ----------------------------
		
		int[] arr = new int[3];
		for (int i = 0 ; i < arr.length ; i++) {
			System.out.println("arr[" + i + "]" + " = "+arr[i]); // 0 0 0
		}
		arr[0] = 10;
		arr[1] = 20;
		arr[2] = 30;
		
		for (int i = 0; i < arr.length ; i++) {
			System.out.println("arr[" + i + "]"+ " = "+arr[i]); // 10 20 30
		}

	}

}

 

배열이란 같은 자료형의 값들을 여러개 받을 수 있는 구조입니다

 

어떠한 구조인지 대충 그림으로 표현한다면 이러합니다.

 

    score[0]       score[1]       score[2]

90 80 70 ....

 

또한 배열은 객체입니다. 그래서 Heap영역에 저장되고 그걸 참조하는 형식이죠

[0] , [1] ... 이러한 것들로 그 값에 접근합니다. [0], [1] 이러한 걸 인덱스라고 합니다.

참고로 String도 char의 배열입니다.


선언 방식은 크게 2가지입니다.

 

1. 선언과 동시에 값 넣기

 int []    score   = { 90 , 80 , 70 };

자료형  배열명  = 값들


1번의 특징은 배열의 크기를 안 정해줍니다. 하지만 값에 갯수에 따라 배열의 크기가 정해집니다.

하지만 뒤늦게 값을 추가할 순 없습니다.

 

2. 선언후 뒤에 값을 넣기

 

int[] arr = new int[3];

 int []    arr      = new int[3];

자료형  배열명  = new 배열 크기

 

arr[0] = 10;
arr[1] = 20;

arr[2] = 30;

 

2번의 특징은 3자리의 크기만큼 정해줍니다. 그리고 값을 나중에 추가할 수 있습니다.

 

저같은 경우는 2번같은 방법을 많이 썼습니다. 

arr.length배열의 크기를 구하는 메소드 입니다.

메소드가 뭐냐면 많이 썼던 것이 System.out.println("score[2]" + score[2]); 인데 무슨 동작을 해주는 역할을 해줍니다.

 

이거같은 경우는 출력해주는 역할을 해주죠 안에는 복잡한 구조로 돌아가지만

이러한 메소드(함수)를 만든 사람이 편하게 사용하라고 만든 것입니다. 복잡하게 출력하는 내용을 적을 필요 없이

System.out.println이라는 것만 쓰면 됩니다. 

 

https://github.com/SungJLee/My_Java_World.git

 

SungJLee/My_Java_World

Contribute to SungJLee/My_Java_World development by creating an account on GitHub.

github.com

 

반응형