01. 2차 배열
1) 배열 생성
* 배열의 선언
// 데이터타입 뒤에 '[][]'를 명시.
int[][] a;
* 배열의 할당
- 입력방법 : [행][열]
// new 예약어 뒤에 데이터 타입과 배열의 행과열의 칸 수를 []안에 입력.
a = new int[2][3]; // 2행 3열
// 선언과 할당을 한번에
int[][] a = [2][3];
2) 원소에 값 대입
* 각 원소에 직접 대입하기
a[0][0] = 2; // 0행 0열
a[0][1] = 4; // 0행 1열
a[0][2] = 6; // 0행 2열
a[1][0] = 100; // 1행 0열
a[1][1] = 200; // 1행 1열
a[1][2] = 300; // 1행 2열
* 선언, 할당, 값 대입 한번에 처리
int[][] a = new int[][] { {2, 4, 6}, {100, 200, 300} };
// 'new int[][]' 생략가능.
int[][] a = { {2, 4, 6}, {100, 200, 300} };
3) 가변배열
* 2차배열의 정확한 개념은 1차 배열의 각 원소가 다른배열에 구성되어있는 형태
public class Array1
{
public static void main(String[] args)
{
// 독립적인 1차 배열 구성
int[] a = {1, 2, 3};
int[] b = {100, 200, 300};
int[][] Array1= {a, b};
System.out.print(Array1[0][0] + ", ");
System.out.print(Array1[0][1] + ", ");
System.out.println(Array1[0][2]);
System.out.print(Array1[1][0] + ", ");
System.out.print(Array1[1][1] + ", ");
System.out.println(Array1[1][2]);
}
}
// 실행결과
1, 2, 3
100, 200, 300
* 배열에서 모든행의 열이 같지 않을 수 도 있음.
public class Array2
{
public static void main(String[] args) {
// 1차 배열을 원소로 갖는 2차 배열 구성
int[][] a = {{5, 10}, {100, 200, 300, 400}};
System.out.print(a[0][0] + ", ");
System.out.println(a[0][1]);
System.out.print(a[1][0] + ", ");
System.out.print(a[1][1] + ", ");
System.out.print(a[1][2] + ", ");
System.out.println(a[1][3]);
}
}
- 위 내용을 표로 만들면 아래와 같다.
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 5 | 10 | ||
1 | 100 | 200 | 300 | 400 |
02. 유형
1) 달력만들기
public class CalTable
{
public static void main(String[] args)
{
int[][] cal = new int[5][7];
int count = 1;
for (int i=0; i<cal.length; i++)
{
for (int j=0; j<cal[i].length; j++)
{
/* 이 부분에서 앞괄호는 첫째주 시작점
count는 해당 월 마지막일을 정한다. */
if ((i==0 && j<2) || (count > 31))
{
System.out.print("\t");
}
else
{
System.out.print(count + "\t");
count++;
}
}
System.out.println();
}
}
}
- 실행결과
'JAVA' 카테고리의 다른 글
JAVA(값 복사 / 참조 복사) (0) | 2020.06.03 |
---|---|
JAVA(메서드) (0) | 2020.06.03 |
JAVA(1차 배열) (0) | 2020.06.02 |
JAVA(기본문법 활용) (0) | 2020.06.01 |
JAVA (조건문, 반복문) (0) | 2020.06.01 |
댓글