개발 공부중

[TIL] 배열 본문

JAVA

[TIL] 배열

개발자 leelee 2022. 12. 7. 00:13
학습목표 : 배열의 특징을 알고 직접 만들 수 있다.
1차원 배열 만들기
: int 자료형 3개를 저장할 수 있는 공간을 힙 메모리에 넣어두고 참조변수(주소값)을 a에 저장하라는 의미

int[ ] a;   // 자료형[ ] 변수명; 
a = new int[3];  //  선언과 초기화는 분리할 수 있다.

int[ ] b = new int [3];   // 자료형[ ] 변수명 = new 자료형 [ 배열의 길이 ];

배열은 같은 자료형의 변수들을 하나의 주소번지로 관리하는 것을 말한다. 하나의 주소번지로 접근이 가능하다.

값이 없으면 강제로 초기화 된다. (초기값 : 0, 0.0, false, null)

선언만 하고 메모리에 로딩을 안 하면 NullPointerException 발생한다.

 

배열의 특징

같은 타입만 가질 수 있다.

크기가 결정되어 있다.

ex ) 부서번호, 사원번호

배열 중간에 끼워넣을 수 없다.

 

배열에 값 입력하기
a[0] = 3;   //참조 변수명[ 인덱스 번호 ] = 값;

배열 객체 생성과 함께 값 입력하기
system.out.println(배열이름[0])= new int[ ] {0, 0, 1}; // 초기화
system.out.println(배열이름[1])= {0, 0, 0}; //배열을 생성할 때 new를 생략해서 생성할 수 있다.

배열 객체 값 확인하기
System.out.println(a[0]); // 3

 

아래는 배열을 사용하여 실습해본 예제

숫자 3개 입력 받아서 출력하기

    // 숫자채번 3개 입력받아서 출력하기
import java.util.Scanner;

public class Quiz6_1 {
    public static void main(String[] args) {
        System.out.println("0~9까지 숫자 3개를 입력하세요 : ");

        Scanner sc = new Scanner(System.in);
        int num[] = new int[3];

        for (int i = 0; i <= 2; i++) {
            num[i] = sc.nextInt();
        }
        System.out.println("값이 입력되었습니다.");
        for (int i = 0; i <= 2; i++) {
            System.out.println(num[i]);
        }
    }
}

출력

+ 추가

배열은 선언 후 생성하는 과정이 꼭 필요하고, 하지 않으면 에러가 발생한다.

배열은 주소값이 복사된다는 점을 기억할 것

//배열 복사하기
import java.util.Arrays;

public class Array3 {
    public static void main(String[] args) {
        int i[] = { 1, 2, 3 };
        int j[];
        j = i;
        int k[]; // 배열 선언
        k = new int[3]; // 배열 생성
        j = k; // 주소값이 복사됨

        System.out.println("<i의 주소> " + i + " <j의 주소> " + j );
        System.out.println("<배열 값 출력> "+ Arrays.toString(j)); //배열값 출력
        System.out.println("<배열의 길이> "+ j.length); //배열의 길이 출력

        String s1 = "안녕";
        String s2 = s1;
        System.out.println("<배열의 길이> "+s1.length()); //문자열의 길이 출력
    }
}

출력

 

'JAVA' 카테고리의 다른 글

[TIL] 문제연습  (0) 2022.12.14
[JAVA] 피보나치 수열 구하기  (0) 2022.12.07
[TIL] 클래스와 인스턴스  (0) 2022.12.06
[TIL] 변수/ return  (1) 2022.12.02
VScode 에서 java 프로젝트 생성하기  (0) 2022.12.01
Comments