도찐개찐
[JAVA] 배열(Array) 본문
배열의 의미
변수의 집합 ,같은 데이터 타입의 변수를 한꺼번에 많이 저장하는 저장소
배열의 특징
- 같은 데이터타입의 변수를 한꺼번에 여러 개 생성
- 배열의 크기는 배열의 첨자로 결정
- 배열의 메모리는 연속적으로 잡힘 ( 참조 값을 이용하여 핸들 )
- 배열의 이름은 연속 된 변수들을 참조하기 위한 참조 값
- 배열의 요소는 변수
- 배열은 객체
배열의 생성과 구조
동일 데이터 타입으로 여러 변수생성
- 데이터 타입 : int[10]
- 배열의 이름 : intArray
- 메모리 : int 4byte * 10
- java spec에 정의됨
- Object클래스의 메소드 이용가능
- 배열의 이름은 참조 값
public class ArrayTest {
public static void main(String[] args) {
// 배열 초기화
// 배열 선언 후 값의 할당
int[] intArray = new int[4];
intArray[0] = 100;
intArray[1] = 200;
intArray[2] = 300;
intArray[3] = 400;
// 반복문 활용
int[] intArray2 = new int[4];
for (int i = 0; i < 4; i++) {
intArray2[i] = 100 * (i + 1);
}
for (int i = 0; i < intArray.length; i++) {
System.out.println(intArray[i]);
}
System.out.println("--------------------------");
for (int i = 0; i < intArray2.length; i++) {
System.out.println(intArray2[i]);
}
System.out.println("==========================");
// 배열 선언과 동시 할당
int[] intArray3 = new int[]{100, 200, 300, 400};
int[] intArray4 = {100, 200, 300, 400};
for (int i = 0; i < intArray3.length; i++) {
System.out.println(intArray3[i]);
}
System.out.println("--------------------------");
for (int i = 0; i < intArray4.length; i++) {
System.out.println(intArray4[i]);
}
}
}
2차원 배열(중첩 배열:multi-dimensional arrray)
// int[][] charArray = new char[10][10];
// int[][](데이터 타입)
// charArray(배열명)
// new char[][](배열 생성)
// [10][10] (첨자 - 배열 길이)
public class MultiArrayTest {
public static void main(String[] args) {
char[][] charArray = new char[][]{// 바깥 배열
{'a', 'b'}, // charArray[0] // 내부 배열
{'c', 'd'}, // charArray[1] // 내부 배열
{'e', 'f'}, // charArray[2] // 내부 베열
{'g', 'h'}, // charArray[3] // 내부 배열
{'i', 'j'}, // charArray[4] // 내부 배열
};
// 중첩 for문을 이용한 중첩 배열 루프 실행 및 값 출력
for (int i = 0; i < charArray.length; i++) {
for (int j = 0; j < charArray[i].length; j++) {
System.out.print(charArray[i][j] + "");
}
System.out.println("");
}
}
}
중첩 배열을 활용한 구구단 만들기
public class gugudan {
public static void main(String[] args) {
int i, j;
int arr[][] = new int[10][10];
for (i = 1; i <= 9; i++){
for (j = 1; j <= 9; j++){
arr[i][j] = i * j;
System.out.print(arr[i][j] + "\t");
}
System.out.println();
}
}
}
728x90
'JAVA' 카테고리의 다른 글
[JAVA] String, StringBuffer, StringBuilder (0) | 2022.07.06 |
---|---|
[JAVA] 메소드(method) (0) | 2022.07.06 |
[JAVA] 연산자(Operator) (0) | 2022.06.29 |
[JAVA] 형 변환(casting) (0) | 2022.06.29 |
[JAVA] 변수와 상수 (0) | 2022.06.29 |
Comments