Published 2022. 7. 6. 16:56
반응형

빼놓을수 없을만큼 가장 중요합니다 

 

여러분이 java를 배우고 나서 아마 대부분의 사람들이 웹을 개발하더라구요 ㅎㅎ 제 경우도 그렇구요 

웹 백앤드 개발을 하는 사람이 배열을 모른다고 하면 음 그냥 짤리지 않을까 싶어요 

 

그만큼 가장 필수적이고 당연히 알아야 하는 배열을 알아 보도록 합시다 

 

Array(어레이) 라고도 말하고 배열이라고도 합니다 둘다 같은 말이에요 ㅎㅎ 

개발자 분들이 한글로는 잘 말씀을 안하시는 분들이 계셔서 ㅎㅎ 배열이라는 말보다 어레이 라는 말을

더 많이 들었던거 같아요 

 

배열은 비슷한 데이터들을 가져와서 그룹 형태로 보관 하는데에 쓰입니다 

 

정수형 배열을 선언해보겠습니다 

    int[] score = { 11, 12, 13, 14, 15 };

     System.out.println(score);

배열을 선언할때엔 자료형 옆에 [] 대괄호를 넣어주고 값에는 중괄호로 묶어줍니다 

그리고 구분은 , 컴마로 시켜주면 됩니다 ㅎㅎ 

 

이 배열의 길이가 얼마일지 생각해보셔요 바로 답이 나와야 합니다 5개의 데이터가 들어갔으니 5라고 

생각 하시는게 당연히 맞습니다 직접 프린트를 해보면 됩니다 그리고 제가 여러분이 착각 하실만한

부분이 있어서 배열을 선언하고 나서 배열 변수를 프린트 해봤습니다 

값은 당연히 11, 12, .. 이렇게 나올까요? 

전혀 아닙니다 이 배열은 메모리 어딘가에 있고 그 메모리 어딘가의 주소를 변수가 갖고있는겁니다

그러니 햇갈리지 마세요 ㅎㅎ 

 

또 배열의 길이는 5 이지만 배열의 첫번째 값을 가져오는 방법은 뭘까요 아래 코드를 봅시다

     System.out.println(score);
     System.out.println(score.length);
     System.out.println(score[0]);

마지막 코드를 보면 score[0]으로 출력했는데 배열의 길이와 배열의 인덱스는 다릅니다 

배열의 인덱스는 0부터 시작하기 때문에 5개의 값이 있으면 0 1 2 3 4 로 가져올 수 있습니다

 

		int[] score = { 11, 12, 13, 14, 15 };
		                0    1   2  3   4

각 인덱스 입니다 ㅎㅎ 

그럼 저번시간에 배웠던 반복문으로 한번 이 배열의 값을 다 풀어볼까요 ?

    for (int i = 0; i<score.length; i++){

        System.out.println(score[i]);
    }

이렇게 변화하는 숫자의 값을 이용해서 배열을 출력할 수 있습니다 ㅎㅎ 

나중에는 배열에 데이터베이스의 데이터들을 여러개로 넣을수도 있어요! ㅎㅎ 

그러니 확실히 알고 넘어가야 합니다

 

그리고 바로 값을 넣지 않고 빈 배열을 생성 할 수도 있습니다 크기까지 지정이 가능하죠 

	int[] num = new int[3];

크기가 3인 배열을 생성 합니다 그리고 인덱스는 2까지 있죠 0 1 2 이렇게 말이죠 

 

그리고 약간 다른 방법인데 for문 안에 for-each문을 이용해서 배열을 풀어줄 수 있는데요 

위의 for문과는 조금 다른 방식입니다 

		int[] score = { 12, 13, 14, 15, 16 };

		int result = 0;
		
		for (int i : score) {
		
			result += i; 
		}
		System.out.println(result);

조건과 초기값을 지정하지 않고 배열을 반복 시킵니다 ㅎㅎ 간간히 쓰이는 문법이니 눈에만 

익혀 두시고 이런 방법도 있구나 알고 계시면 됩니다 

 

그리고 배열에 가장 자주 나오는 오류 중 하나를 알려드릴게요 

ArrayIndexOutOfBoundsException 오류는 확실하게 알고 계시는게 좋습니다 

실력있는 개발자들이 코드수정이 빠른 이유는 바로 오류 수정이 빠르기 때문입니다 

그러다보니 오류가 나지 않도록 코드 짜는게 익숙해진 이유이기도 하고요 ㅎㅎ 

무튼 저 오류는 배열의 길이 즉 크기가 예를들어 10인데 11개 이상의 데이터를 집어 넣으려고 

하니까 발생하는 오류입니다 ㅎㅎ 꼭 알고 계시면 도움될것입니다 

 

 

 

반응형

'Developer > Java' 카테고리의 다른 글

[java]클래스와 인스턴스  (0) 2022.07.21
[java]메서드  (0) 2022.07.19
[java]반복문  (0) 2022.07.05
[java]조건문  (0) 2022.07.01
[java]연산자  (0) 2022.06.17
복사했습니다!