도찐개찐

[JAVA] 배열(Array) 본문

JAVA

[JAVA] 배열(Array)

도개진 2022. 6. 29. 18:32

배열의 의미

변수의 집합 ,같은 데이터 타입의 변수를 한꺼번에 많이 저장하는 저장소

배열의 특징

  • 같은 데이터타입의 변수를 한꺼번에 여러 개 생성
  • 배열의 크기는 배열의 첨자로 결정
  • 배열의 메모리는 연속적으로 잡힘 ( 참조 값을 이용하여 핸들 )
  • 배열의 이름은 연속 된 변수들을 참조하기 위한 참조 값
  • 배열의 요소는 변수
  • 배열은 객체

 

배열의 생성과 구조

동일 데이터 타입으로 여러 변수생성

  • 데이터 타입 : 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