728x90
반응형
배열 길이
배열의 길이란 배열에 저장할 수 있는 전체 항목의 개수를 말한다.
length필드를 통해 배열의 길이를 얻을 수 있다.
배열 변수.length;
int[] intArray = {5, 10, 15};
int num = intArray.length;
System.out.println(num);
배열 예시1)
명령 라인 입력
프로그램 실행을 위해 main()메소드가 필요하다는 것을 알고 있다.
하지만 메소의 매개값인 String[] args가 왜 필요한지, 알아보자.
public static void main(String[] args) {...}
실행할 때 명령라인이 매개값을 주지 않았을 경우 길이 0인 String 배열 생성 후 main 메소드를 호출 한다.
실행할 때 명령라인 매개값ㅇ르 주었을 경우 아래처럼 실행된다.
배열 예시2)
예제를 그냥 실할하면 위의 '값의 수가 부족하다' 라는 답만 얻을 수 있다.
실행할 때 매개값을 주지 않으면 길이 0인 String 배열이 매개값으로 전달 되기 때문이다.
명령 프롬프트로 아래와 같이 설정 하면, 실행결과를 3 + 5 = 8 이라는 값을 얻을 수 있다.
다차원 배열
2차원 배열은 수학의 행렬 같은 모양으로, 가로 세로 인덱스를 사용한다.
이 코드는 메모리에 3개의 배열 객체를 생성한다.
int[][] scores = new int[2][3];
- scores 배열 변수는 길이가 2인 배열 A를 참조한다.
- 배열A의 scores[0]은 다시 길이가 3인 배열 B를 참조한다.
- scores[1]은 길이가 3인 배열 C를 참조한다.
- scores[0]과 scores[1]은 모두 배열을 참조하는 변수 역할을 한다.
각배열의 길이는 다음 과 같이 얻을 수 있다.
scores.length // 2 (배열 A의 길이)
socres[0].length // 3 (배열 B의 길이)
scores[1].length // 3 (배열 C의 길이)
만약 그룹화된 값 목록을 가지고 있다면 아래와 같이 이중 중괄호를 이용해서 표현 가능하다.
타입[][] 변수 = {{값1, 값2, ..}, {값1, 값2, ...}};
//그룹 0 값 목록 그룹 1값 목록
int[][] scores = {{10,20}, {15,30}};
int score = scores[0][0]; // 10
int socre = scores[0][1]; // 20
int score = scores[1][0]; // 15
int score = socres[1][1]; // 30
이렇게 표현하니 조금은 이해가 되는 듯 하다.
배열 예시3)
int[][] mathScores = new int[2][3];
for (int i = 0; i < mathScores.length; i++) {
for (int j = 0; j < mathScores[i].length; j++) {
System.out.println("mathScores[" + i + "][" + j + "]= " + mathScores[i][j]);
}
}
배열 예시4)
int[][] engScores = new int[2][];
engScores[0] = new int[2]; // 배열길이 2로 대입
engScores[1] = new int[3]; // 배열길이 3로 대입
for (int i = 0; i < engScores.length; i++) {
for (int j = 0; j < engScores[i].length; j++) {
System.out.println("engScores[" + i + "][" + j + "]= " + engScores[i][j]);
}
}
배열 예시5)
int[][] comScores = {{90, 95}, {88, 100, 93}};
for (int i = 0; i < comScores.length; i++) {
for (int j = 0; j < comScores[i].length; j++) {
System.out.println("comScores[" + i + "][" + j + "]= " + comScores[i][j]);
}
}
※용어 정리
- 배열생성: 배열은 두 가지 방법으로 생성한다.
- {값1, 값2, 값3, ...}; 처럼 값을 목록으로 생성
- new 타입[길이]; 로생성
- 배열 길이: 배열에 저장될 수 있는 항목(값)의 수 이다. 배열의 length필드에 저장되어 배열의 길이를 읽을 수 있다.
- 다차원 배열: 배열 항목(값)이 또 다른 배열을 참조할 때를 말한다.
- 타입[][] 변수 = new 타입[길이1][길이2]; 로 선언
본 내용은 #혼자공부하는자바 책을 참고해 공부하려 작성했습니다.
728x90
반응형
'Work & Study > JAVA (& 혼공자Java)' 카테고리의 다른 글
자바(Java) - 열거 타입 (0) | 2020.09.23 |
---|---|
자바(Java) - 배열3 (0) | 2020.09.22 |
자바(Java) - 배열1 (0) | 2020.09.21 |
자바(Java) - 참조 타입과 참조 변수2 (0) | 2020.09.20 |
자바(Java) - 참조 타입과 참조 변수1 (0) | 2020.09.19 |