JAVA 배열
메모리 공간에 여러개의 값을 저장하는 객체이다.
▶ 배열의 선언 방법
배열을 선언할 때 배열의 크기또는 값을 같이 선언하여야 한다.
데이터형[] 변수명 = new 데이터형[배열의크기];
데이터형[] 변수명 = new 데이터형[]{"데이터"};
데이터 형은 객체(클래스)로 선언 가능하다.
int[] numArray = new int[5]; -기본형
String[] strArray = new String[5]; -데이터형
▶ 배열에 값 대입하기.
- 배열의 값 접근 : 배열의 요소를 인덱스로 접근한다.
<!> 배열의 크기를 넘어서는 인덱스로 접근하여 값을 대입할 수 없다.
numArray[0] = 1;
numArray[1] = 2;
numArray[2] = 3;
numArray[3] = 4;
numArray[4] = 5;
numArray[5] 에는 값을 대입할 수 없다. -> ArrayIndexOutOfBoundsException Error
크기만큼 할당된 인덱스에만 접근이 가능하며, 그 외에는 에러가 발생한다.
- 배열 실습
더보기
실습. 키보드(표준입력장치)로 다섯과목의 점수를 받아 합계와 평균을 구하시오.
* (아래의 구문 다 출력.배열활용)
* 학생의 점수를 받아 평균값과 합산값을 출력시키시오.
* 50,68,75,83,36
* 학생점수의 합산값 :
* 학생점수의 평균값 :
System.out.println("학생의 점수를 받아 평균값과 합산값을 출력시키시오.");
InputStreamReader reder = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(reder);
double numArray[] = new double[5];
for(int i=0;i<numArray.length; i++) {
String str = br.readLine();
if(str != null && !"".equals(str.trim())) {
numArray[i] = Double.parseDouble(str);
}
}
double sum = 0;
for(int i=0;i<numArray.length; i++) {
sum += numArray[i];
System.out.println(numArray[i]);
}
System.out.println("합산값 : "+(sum));
System.out.println("평균값 : "+(sum/numArray.length));
실습. 아래의 배열이 있다. 배열 값 중 최대값과 최소값을 구하여 출력하라.
int min = numArray[0];
int max = numArray[0];
for(int i=0;i<numArray.length;i++) {
if(min > numArray[i]) {
min = numArray[i];
}
if(max < numArray[i]) {
max = numArray[i];
}
}
System.out.println("최소값>"+min);
System.out.println("최대값>"+max);
실습. 아래 회원의 정보가 담긴 다차원배열이 있다. memberInfoArray의 객체(Member) 배열로 회원정보를 담아라.
class Member{
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
public class JavaBasicEx04 {
public static void main(String[] args) {
String[][] memberInfo = new String[][] {
{"홍길동","20"},
{"이순신","21"},
{"고길동","25"}
};
//다차원 배열 값접근
System.out.println(memberInfo[0][0]);
Member[] memberInfoArray = new Member[memberInfo.length];
/*
* 실습. 위의 회원의 정보가 담긴 다차원 배열이 있다.
* memberInfoArray의 객체(Member) 배열로 회원정보를 담아라.
*/
for(int i = 0;i<memberInfo.length;i++) {
/*String[] member = memberInfo[i];
String name = member[0];
String age = member[1];
System.out.println(name+"--"+age);*/
Member m = new Member();
m.setName(memberInfo[i][0]);
m.setAge(memberInfo[i][1]);
System.out.println(m.getName()+"--"+m.getAge());
memberInfoArray[i] = m;
}
System.out.println("--------");
for(int i=0;i<memberInfoArray.length;i++) {
Member m = memberInfoArray[i];
System.out.println(m.getName()+"--"+m.getAge());
}
}
}