본문 바로가기

자바/문법

배열 사용방법과 향상된 for문

예제1) 배열의 사용 방법


public class Test1{

public static void main(String[] args){

int []a; //배열 선언 -> 이런식은 문번8번과 같이 메모리 할당해서 사용한다. -> 그리고 배열사용

int []b=new int[5]; //선언과 동시에 메모리 할당 -> (문번13)배열 사용으로 넘어간다.

int c[]=new int[]{10,20,30,40,50};  // 선언과 메모리 할당, 사용을 동시에 하는 식, int []c={10,20,30,40,50} 과 동일하다.


// a[0]=10; -> 컴파일 오류. 메모리 할당을 하지 않았으므로.


a=new int[5]; //메모리 할당


// a[5]=20; -> 런타임 오류. 첨자의 범위를 벗어나서. ->문번9 에서 5개의 배열을 하면 0~4까지 생성된다. 0부터 생성.


a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;

b[0]=2;b[1]=4;b[2]=6;b[3]=8;b[4]=10;


System.out.println("요소수:"+a.length); // a 배열의 배열의 길이( 요소의 수); 

      // length라는 속성은 배열의 길이를 리턴한다.


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

System.out.printf("a[%d]:%d\n",i,a[i]); // a[i]는 어레이(배열)변수


for(int n : b)  // 향상된 for문

System.out.println(n);


int s=0;

for(int n : c)

s+=n;

System.out.println(s);


}

}


예제1 결과) 


요소수:5

a[0]:1

a[1]:2

a[2]:3

a[3]:4

a[4]:5

2

4

6

8

10

150


=============================================================================================================================


예제2) 다차원 배열


public class Test2{

public static void main(String[] args){

// int [][]a=new int[3][4]; //배열의 배열 (3행 4열로 출력되게된다)


// 아래 배열과 위 배열의 차이는 열수와 행수를 서로 다르게 출력할 수 있다는 것.

int [][]a;

a=new int[3][];  // 가변배열( 행수가 3행)

a[0]=new int[4]; // 가변배열(0행의 열수가 4열)

a[1]=new int[3]; // 가변배열(1행의 열수가 3열)

a[2]=new int[4]; // 가변배열(2행의 열수가 4열)


int n=0;

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

for(int j=0; j<a[i].length; j++){

n++;

a[i][j]=n;

}

}


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

for(int j=0; j<a[i].length; j++){

System.out.printf("a[%d][%d]%-4d",i,j, a[i][j]); // %-4d -> 뒤로 4칸 공간이 생긴다. %4d -> 앞에 공간 4칸 생긴다.

}

System.out.println();

}


//배열의 배열 초기화

int b[][]={

{1,2,3,},{2,4,6,8,10},{1,3,5,7,9}

};


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

for(int j=0; j<b[i].length; j++){

System.out.printf("b[%d][%d]:%-4d",i,j,b[i][j]);

}

System.out.println();

}

}

}


예제2 결과)


a[0][0]1    a[0][1]2    a[0][2]3    a[0][3]4

a[1][0]5    a[1][1]6    a[1][2]7

a[2][1]8    a[2][2]9    a[2][3]10    a[2][4]11

b[0][0]:1    b[0][1]:2    b[0][2]:3    

b[1][0]:2    b[1][1]:4    b[1][2]:6    b[1][3]:8    b[1][4]:10

b[2][0]:1    b[2][1]:3    b[2][2]:5    b[2][3]:7    b[2][4]:9




'자바 > 문법' 카테고리의 다른 글

배열을 이용한 요일 계산기  (0) 2013.05.11
배열을 사용한 달력만들기  (0) 2013.05.11
return문  (0) 2013.05.09
label을 이용한 break문  (0) 2013.05.09
switch ~ case문  (0) 2013.05.09