배열 생성 및 데이터 입력

1차원 배열

1. 변수 a 선언

int[] a;

2. 저장공간 5개를 가지는 객체 생성

new int[5];

3. 생성된 객체를 변수에 연결(저장)

int[]a=new int[5];

*int 자료형의 5개 저장공간을 가지는 1차원 배열 'a'를 선언

*객체 생성 시 [ ] 안을 비워둘 수 없고 길이를 고정해야 함

4. 배열을 초기화 하는 법

int[]a={1,2,3,4,5};
int[]a=new int[]{1,2,3,4,5};

5. 반복문으로 배열에 데이터 넣고 출력

int []a=new int[5];

        for(int i=0;i<a.length;i++){
            a[i]=i+1;
            System.out.print("a"+"["+i+"]"+"="+a[i]+"\t");
        }
a[0]=1	a[1]=2	a[2]=3	a[3]=4	a[4]=5	
종료 코드 0(으)로 완료된 프로세스

2차원 배열

1. 1차원 배열 선언 및 객체 생성 후 변수에 연결하는 과정과 동일

int[][]a=new int[2][3]; //2행 3열 2차원 배열 생성

*a.length = 2

*a[0].length = 3

*a[1].lengh = 3

2. 데이터 넣고 출력해서 확인

int[][]c=new int[2][3];

        for(int i=0;i<c.length;i++){
            for(int j=0;j<c[i].length;j++){
                c[i][j]=j+1;
                System.out.print(c[i][j]);
            }
            System.out.println();
        }
123
123

종료 코드 0(으)로 완료된 프로세스

3. 서로 다른 열을 가진 가변 길이 배열도 만들 수 있음

String[][]d=new String[5][];
        d[0]=new String[1];
        d[1]=new String[2];
        d[2]=new String[3];
        d[3]=new String[4];
        d[4]=new String[5];

        for(int i=0;i<d.length;i++){
            for(int j=0;j<d[i].length;j++){
                d[i][j]="*";
                System.out.print(d[i][j]);
            }
            System.out.println();
        }
*
**
***
****
*****

종료 코드 0(으)로 완료된 프로세스

객체 배열

public class Book {
    public String title;
    public String company;
    public String author;
    public int page;
}

이런 Book 클래스가 있을 때,

1. 변수 b 선언

Book[]b=new Book[2];

2. 객체 생성

b[0]=new Book();
b[1]=new Book();

3. 데이터 넣고 출력해서 확인

b[0].author="Mr.Lee";
        b[0].title="java";
        b[0].company="muje";
        b[0].page=111;

        b[1].author="Mr.Kim";
        b[1].title="python";
        b[1].company="easy";
        b[1].page=351;

        for(int i=0;i<b.length;i++){
            System.out.println(b[i].author+"\t"+b[i].title+"\t"+b[i].company+"\t"+b[i].page);
        }
Mr.Lee	java	muje	111
Mr.Kim	python	easy	351	
종료 코드 0(으)로 완료된 프로세스

 

+ Recent posts