int intArray[] ;
char charArray[];

int intArray[] = new int[10];
char charArray[]= new char[20];

배열선언과 배열생성의 차이 ?
- 배열선언은 배열의 데이터 타입과 이름을 지정하는 과정입니다.
이때, 메모리 할당은 이루어지지 않습니다. 배열은 단지 배열을 사용할 준비만 하는 것 입니다.- 배열 생성을 통해 실제 배열 객체가 메모리에 할당됩니다. 배열 생성 시 배열의 크기를 지정해야하며, 이에따라 메모리가 할당됩니다.
- 배열생성은 'new' 키워드를 사용하여 이루어집니다.
int i[] = new int[10];

i 참조변수에 저장됩니다. int intArray[] = {1,2,3,4,5};

intArray[0] = 5;
int intArray[] = new int[5];
int myArray[] = intArray;

int intArray[] = new int[5];
int size = intArray.length; // 5
2차원 배열은 다음과 같이 행과 열로 이루어져 있습니다.
int i[][] = new int[2][5];

2차원 배열을 확장하여 비정형 배열 또한 존재합니다.
int[][] irregularArray = {
{1, 2},
{3, 4, 5},
{6, 7, 8, 9}
};
// 각 행의 열 길이 확인
for (int i = 0; i < irregularArray.length; i++) {
System.out.println("Number of columns in row " + i + ": " + irregularArray[i].length);
}
// Number of columns in row 0: 2
// Number of columns in row 1: 3
// Number of columns in row 2: 4
int[][] array = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
int numRows = array.length; // 행의 길이
System.out.println("Number of rows: " + numRows); // 출력: Number of rows: 3
int numCols = array[0].length; // 첫 번째 행의 열 길이
System.out.println("Number of columns in the first row: " + numCols); // 출력: Number of columns in the first row: 4
int[] makeArray(){
int temp[] = new int[4];
return temp;
}