□ 배열
○ 인덱스를 이용해서 자료형이 같은 데이터를 관리하는 것
ex)사용예 : 아파트호수 관리, 회사사번 관리, 학급학생 관리 등
○ Java에서 배열크기를 선언하면 수정이 불가함.
○ 배열을 구성하는 데이터의 자료형에 따라서 배열의 메모리 크기가 결정됨
○ 기본 자료형 데이터를 담고있는 변수와 달리 배열 변수는 배열 데이터의 주소를 담고 있음
package person_test;
import java.util.Scanner;
public class Arrangement {
public static void main(String[] args) {
//배열 선언 후 초기화
int[] arr1 = new int[5]; //배열을 의미하는 기호 [] & new를 활용하여 배열 크기(길이)지정 및 선언
arr1[0] = 100;
arr1[1] = 200;
arr1[2] = 300;
arr1[3] = 400;
arr1[4] = 500;
System.out.println("배열 arr1[0] = " +arr1[0]);
System.out.println("배열 arr1[1] = " +arr1[1]);
System.out.println("배열 arr1[2] = " +arr1[2]);
System.out.println("배열 arr1[3] = " +arr1[3]);
System.out.println("배열 arr1[4] = " +arr1[4]);
//배열 선언과 초기화 동시진행
int[] arr2 = {10, 20, 30, 40, 50};
System.out.println("배열 arr2[0] = " +arr2[0]);
System.out.println("배열 arr2[1] = " +arr2[1]);
System.out.println("배열 arr2[2] = " +arr2[2]);
System.out.println("배열 arr2[3] = " +arr2[3]);
System.out.println("배열 arr2[4] = " +arr2[4]);
//예제 : 배열을 활용한 학사관리
String[] name = {"홍길동", "이순신", "안중근", "을지문덕", "광개토대왕"};
int[] score = new int[5];
Scanner scanner = new Scanner(System.in);
System.out.printf("%s 점수 입력 : ", name[0]);
score[0] = scanner.nextInt();
System.out.printf("%s 점수 입력 : ", name[1]);
score[1] = scanner.nextInt();
System.out.printf("%s 점수 입력 : ", name[2]);
score[2] = scanner.nextInt();
System.out.printf("%s 점수 입력 : ", name[3]);
score[3] = scanner.nextInt();
System.out.printf("%s 점수 입력 : ", name[4]);
score[4] = scanner.nextInt();
System.out.printf("%s 점수 입력 : \t%.2f\n", name[0], (double)score[0]); //입력점수 형변환(int → double)
System.out.printf("%s 점수 입력 : \t%.2f\n", name[1], (double)score[1]); //입력점수 형변환(int → double)
System.out.printf("%s 점수 입력 : \t%.2f\n", name[2], (double)score[2]); //입력점수 형변환(int → double)
System.out.printf("%s 점수 입력 : \t%.2f\n", name[3], (double)score[3]); //입력점수 형변환(int → double)
System.out.printf("%s 점수 입력 : \t%.2f\n", name[4], (double)score[4]); //입력점수 형변환(int → double)
double avg = (double)(score[0]+score[1]+score[2]+score[3]+score[4])/5; //평점
System.out.printf("학사 평균점수 : \t%.2f", avg);
}
}
import java.util.Arrays;
public class Arrangement_detail {
public static void main(String[] args) {
int[] arr1 = {10,20,30,40,50,60}; //배열선언 및 초기화
int[] arr2 = null; //배열선언
int[] arr3 = null; //배열선언
//길이 : 변수.length
System.out.println(arr1.length);
//요소 출력 : Arrays.toString(변수))
System.out.println(Arrays.toString(arr1));
//복사 : 복사할 변수 = Arrays.Copyof(변수명, 변수길이)
System.out.println("arr2 복사전 : " +Arrays.toString(arr2));
arr2 = Arrays.copyOf(arr1, arr1.length);
System.out.println("arr2 복사후 : " + Arrays.toString(arr2));
//배열주소 & 해당 출력값은 주소를 의미하며 주소에 해당하는 메모리에 배열요소가 저장됨
System.out.println(arr1);
System.out.println(arr2);
System.out.println(arr3);
//다차원 배열(2차원 배열) : int[행수][열수]
int[][] arrNull = new int[3][2];
arrNull[0][0] = 10; //1행1열값
arrNull[0][1] = 20; //1행2열값
arrNull[1][0] = 30; //2행1열값
arrNull[1][1] = 40; //2행2열값
arrNull[2][0] = 50; //3행1열값
arrNull[2][1] = 60; //3행2열값
System.out.println("배열 1행출력 : " + Arrays.toString(arrNull[0]));
System.out.println("배열 2행출력 : " + Arrays.toString(arrNull[1]));
System.out.println("배열 3행출력 : " + Arrays.toString(arrNull[2]));
}
}
'Java > Java_basic' 카테고리의 다른 글
Step8. 반복문 (0) | 2023.09.21 |
---|---|
Step7. 조건문 (0) | 2023.09.21 |
Step5. 연산 (0) | 2023.09.20 |
Step4. 자료형(+기타: 서식/특수문자) (0) | 2023.09.19 |
Step3. 변수선언 및 초기화 (0) | 2023.09.19 |