예제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 |