일기 대신 코드 슬쩍

[JAVA] Section8) 배열 본문

JAVA

[JAVA] Section8) 배열

코코자 2024. 3. 17. 20:34

배열의 선언과 생성

  1. 배열 변수 선언
  • int[] students; 와 같은 배열 변수를 선언함
  1. 배열 생성
  • students = new int[5]; 로 5개의 int 형 변수가 만들어짐
  • 숫자는 0, boolean은 false, String은 null로 기본 초기화
  1. 배열 참조값 변환
  • 나중에 자세히 배움, 생성한 배열을 참조할 수 있는, 메모리의 주소를 나타내는 특별한 값이 있다는 정도로만 이해할 것

배열 사용

기본형 vs 참조형

  • 기본형: int, long, double, boolean과 같이 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입
  • 참조형: int[] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입, 동적 메모리 할당이 가능하므로 유연성을 제공함

배열 리펙토링

리팩토링: 작동하는 기능은 동일하지만 코드의 내부를 개선함

package array;

public class Array1 {
    public static void main(String[] args) {
        int[] students; //배열 변수 선언
        students = new int[5]; //배열 생성

        //변수값 대입
        students[0] = 90;
        students[1] = 80;
        students[2] = 70;
        students[3] = 60;
        students[4] = 50;

        //변수값 사용
        for (int i = 0; i < students.length;i++) {
            System.out.println("학생" + (i+1) + "점수: " + students[i]);
        }
    }
}

package scanner;import java.util.Scanner;public class ScannerEx10 { public static void main(String[] args) { Scanner scanner = new Scanner(System.*in*); int totalCost = 0; while (true) { System.*out*.println("1: 상품 입력, 2: 결제, 3: 프로그램 종료"); int option = scanner.nextInt(); if (option == 1) { System.*out*.print("상품명을 입력하세요: "); //상품명(name) 입력받기 String name = scanner.nextLine(); scanner.nextLine(); System.*out*.print("상품의 가격을 입력하세요: "); // 가격(price) 입력받기 int price = scanner.nextInt(); scanner.nextLine(); System.*out*.print("구매 수량을 입력하세요: "); //수량(quantity) 입력받기 int quantity = scanner.nextInt(); System.*out*.println("상품명: " + name + " 가격: " + price + " 수량: " + quantity); totalCost += price*quantity; } else if (option == 2) { System.*out*.println("총 비용: " + totalCost); totalCost = 0; } else if (option ==3) { System.*out*.println("프로그램을 종료합니다."); break; } else { System.*out*.println("올바른 옵션을 선택해주세요."); } } }}

  • students.length: 배열의 길이 제공
package array;

public class Array2 {
    public static void main(String[] args) {
        int[] students = {90,80,70,60,50}; //배열 생성과 초기화

  

        //변수값 사용
        for (int i = 0; i < students.length;i++) {
            System.out.println("학생" + (i+1) + "점수: " + students[i]);
        }
    }
}

2차원 배열

  • int [][] arr = new int[2][3] 과 같이 선언하고 생성함
  • 리팩토링을 통해 int[][] arr = { {1,2,3}, {4,5,6} }; 으로도 나타낼 수 있음

향상된 for문

package array;

public class Array3 {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        //향상된 for문, for-each문
        for (int number: numbers){
            System.out.println(number);
        }
    }
}

'JAVA' 카테고리의 다른 글

[JAVA] Section8) Problems2  (2) 2024.03.17
[JAVA] Section8) Problems1  (0) 2024.03.17
[JAVA] Section7) Problems4  (0) 2024.03.12
[JAVA] Section7) Problems3  (0) 2024.03.12
[JAVA] Section7) Problems2  (0) 2024.03.12