[자바] 배열

BEHE_LIT·2020년 1월 8일
0

Java공부

목록 보기
6/19

배열

배열 인덱스 배열길이 배열 선언 배열 생성 다차원 배열
향상된 for문

1. 배열이란?

int sum = 0;
for(i = 0; i < 30; i++) {
	sum += score[i];
}
int avg = sum / 30;

for( i=0; int i=0; ...)

1-1. 배열의 특징

  • 같은 타입의 데이터만 저장
  • 배열의 길이를 늘리거나 줄일 수 없다.

2. 배열 선언

3. 배열 생성

값 목록을 이용하거나
new 연산자를 이용한다.

3-1. 값 목록으로 배열 생성

int score[] = {83, 90, 87};
		System.out.println("score[0] : " + score[0]);
		System.out.println("score[1] : " + score[1]);
		System.out.println("score[2] : " + score[2]);
		
		int sum = 0;
		for(int i=0; i<score.length; i++) {
			sum += score[i]; 
		}
		double avg = sum / 3;
		System.out.println("총합 : " + sum);
		System.out.println("평균 : " + avg);

double avg = sum / 3; (double) sum / 3;

/*출력값*/ 
score[0] : 83
score[1] : 90
score[2] : 87
총합 : 260
평균 : 86.66666666666667

컴파일 에러 예제(배열변수를 미리 선언한 상황)

int[] score;
score = {83,90,87}
int[] score;
score = new int{83,90,87};

int score[]; or int[] score;
score = {83,90,87} new int[]{83,90,87};

3-2. new 연산자로 배열 생성

4. 배열 길이

5. 명령 라인 입력

6. 다차원 배열

int[][]scores = new int[2][];
		scores[0] = new int[3];
		scores[1] = new int[4];		
		
		for(int i=0; i<2; i++) {
			for(int k=0; k<scores[i].length; k++) {
				System.out.println("scores["+i+"]["+k+"]" + scores[i][k]);
			}	
		}

int javascores[][] = {{85,90},{95,100,90}};
		
		for(int i=0; i<2; i++) {
			for(int k=0; k<javascores[i].length; k++) {
				System.out.println("javascores["+i+"]["+k+"] = " + javascores[i][k]);

7. 객체를 참조하는 배열

  • 참조타입 배열(클래스,인터페이스)은
  • 각 항목에 객체의 번지를 가지고 있다.
  • String[] 배열은 각 항목에 문자열이 아니라
  • String 객체의 번지를 가지고 있다.

8. 배열 복사

  • for문 활용

  • System.arraycopy();

String[] str = new String[4];
		str[0] = "자바";
		str[1] = "C#";
		str[2] = "자바";
		str[3] = new String("자바");
		
		System.out.println(str[0] == str[3]);
		System.out.println(str[0].equals(str[3]));

9. 향상된 for문

int numbers[] = {90,80,40,50,30};
		int sum = 0;
		for(int number : numbers) {
			sum = sum += number;
		}
		System.out.println(sum);

profile
방랑자의 현장에 오신걸 환영합니다.

0개의 댓글