pbj0812의 코딩 일기

[JAVA] 17. Array 본문

ComputerLanguage_Program/JAVA

[JAVA] 17. Array

pbj0812 2017. 9. 22. 08:48

1. Same Data Type -> 어레이에 포함되는 값들은 서로 형식이 같아야 한다. String, int 등...

2. Group Handling -> 어레이에 포함되는 값들은 한 번에 핸들링이 가능하다.

3. Java Object -> Object이기 때문에 new 로 지정해줘야 한다.

4. Length, Index -> length 와 index를 이용하여 길이와 위치를 알 수 있다.

5. 1차원배열-동X룸넘버O ->[] 1차원 배열이기 때문에 집의 위치만 알면 된다.

6. 2차원배열-동O룸넘버O -> [][] 2차원 배열이기 때문에 동의 위치도 알아야 한다.


어레이 지정은 아래와 같다.


int []  intArr2 = new int[10]; // intArr2라는 []어레이를 만들고 그 형식은 int로 지정한다. 그리고 방의 수는 10개로 만든다.


int [][] guguInt = new int [8][9]; // guguInt 라는 [][]어레이를 만들고 그 형식은 int로 지정한다. 그리고 방의 수는 8*9개로 만든다.


아래와 같은 지정도 가능하다.


int[][]intArr6 = new int[3][]; 앞자리는 생략 X, 뒷자리는 나중에 지정가능


지정한 어레이에서 크기를 변경할 수는 없다.


따라서 이런 경우에는 새로 변수를 지정하고 값을 복사한다.


arraycopy(복사소스, 시작번호, 목적지, 목적지번호, 길이)



ex1) 새로운 클래스 생성을 통한 어레이 활용법

package ch4.test;

import java.util.Scanner;

class PIAgree{
String name;
String tel;
String agree;
}

public class Array9ToOOP2 {

public static void main(String[] args) {
PIAgree [] pArr = new PIAgree[10];
Scanner scan = new Scanner(System.in);
int menuNo = 0;
int roomNumber = 0;
while(true) {
System.out.println("메뉴 입력(0-종료, 1-입력, 2-출력) : ");
menuNo = scan.nextInt();
if(menuNo == 0) {
System.exit(0);
} else if (menuNo == 1) {
System.out.println("이름 : ");
String tmpNm = scan.next();
System.out.println("전화번호 : ");
String tmpTel = scan.next();
System.out.println("개인정보동의여부(Y/N) : ");
String tmpYn = scan.next();
if(tmpYn.equalsIgnoreCase("Y")) {
pArr[roomNumber] = new PIAgree();
pArr[roomNumber].name = tmpNm;
pArr[roomNumber].tel = tmpTel;
pArr[roomNumber].agree = tmpYn;
roomNumber++;
}
} else if (menuNo == 2) {
for(int i = 0; i < roomNumber; i++) {
System.out.print(pArr[i].name+"\t");
System.out.print(pArr[i].tel+"\t");
System.out.print(pArr[i].agree+"\t");
System.out.println();
}
} else {
System.out.println("입력 오류");
}
}// while
}//main

}


1. PIAgree [] pArr; pArr 이라는 그릇을 만든다.

2. pArr = new PIAgree[10]; 그 그릇을 10칸 만든다.

3. pArr[0] = new PIAgree(); pArr 첫 칸에 PIAgree 를 새로 넣어준다

'ComputerLanguage_Program > JAVA' 카테고리의 다른 글

[JAVA] MAC OS에 JAVA JDK 설치  (0) 2019.10.07
[JAVA] 18. member 변수, member 메소드, local 변수  (2) 2017.09.22
[JAVA] 16. break, continue 문, label  (0) 2017.09.21
[JAVA] 15. do-while  (0) 2017.09.21
[JAVA] 14. for 문  (0) 2017.09.21
Comments