java,jsp,spring/java
java 배열
프루트
2022. 7. 18. 20:09
배열
- 여러 데이터를 하나로 묶은 것(일련의 공간을 여러 칸으로 나눈 것)
- 수많은 데이터를 단 하나의 변수로 관리할 수 있고, 코드 효율을 높일 수 있음
- 배열의 값은 모두 같은 타입이어야 함
- 배열의 길이는 변하지 않음, 배열의 길이는 length 키워드를 통해 가져올 수 있음
배열 만들기
- 초기화를 통한 생성 : 중괄호 안에 초깃값 명시
- 길이 지정을 통한 생성
- 배열 타입에 따라 초깃값 결정 : 정수(0), 실수(0.0), 논리형(false), 문자열(null)
- 일차원 배열 생성
- 잘못된 예시
int intArray[10]; // 인덱스 값을 넣으려면 배열을 생성 해야함
- 배열을 초기화 하면서 생성
- 배열 인덱스와 원소 접근
n = intArray[-2]; // 인덱스는 0부터 시작이므로 오류
n = intArray[5]; // 길이가 5인 배열이면 인덱스는 0~4이기 때문에 오류
int intArray [];
intArray[1] = 8; // 배열을 선언만 했으므로 오류
- 레퍼런스 치환과 배열 공유
- 배열의 크기, length 필드
- 메소드로 배열 전달
public class Ex3_7 {
public static void main(String[] args) {
int evens[] = {0,2,4,6,8,10,12,14,16,18};
int primes[] = {2,3,5,7,11,13,17,19};
int evenSum = sum(evens);
int primeSum = sum(primes);
System.out.println("짝수 배열의 합: "+evenSum);
System.out.println("소수 배열의 합: "+primeSum);
}
public static int sum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
}
- 문자 타입과 배열
- 문자열은 toCharArray()메소드를 통해 문자의 배열로 바뀔 수 있음
String str = "ABCD";
char[] charArr = str.toCharArray();
//char[] charArr = {'A', 'B', 'C', 'D'};
public class Ex3_8 {
public static void main(String[] args) {
String str = "Programming is fun! Right?";
char[] charArr = str.toCharArray();
int count = 0;
for (int i = 0; i < charArr.length; i++) {
if (charArr[i] == 'R' || charArr[i] == 'r') {
count++;
}
}
System.out.println(str);
System.out.println("=> R(r)의 갯수 : "+count);
}
}
- 2차원 배열
- 기본 배열(일차원 배열)을 묶어 새로운 배열을 이루는 형태
int[] row1 = {1,2,3,4};
int[] row2 = {5,6,7,8};
int [][] matrix = {row1, row2};
// 학년별 1, 2 학기 성적 저장
// 4년간 전체 평점 평균
public class Ex3_10 {
public static void main(String[] args) {
double score[][] = {{3.3, 3.4},
{3.5, 3.6},
{3.7, 4.0},
{4.1, 4.2}};
double sum = 0;
for (int i = 0; i < score.length; i++) {
for (int j = 0; j < score[i].length; j++) {
sum += score[i][j];
}
}
int n = score.length; // 4
int m = score[0].length; // 2
System.out.println("4년 전체 평점 평균은 "+sum/(n*m));
}
}
- lenght 필드
- i.length; > 행의 크기 | i[0].length; > 열의 크기
-
- 정방형 정방형 / 비정방형 배열
- 삼차원 배열
- 이차원 배열을 묶어 만든 배열
int [][][] cube = { { {1,2,3,4} , {5,6,7,8} }, { {9,10,11,12}, {13,14,15,16} } };