본문 바로가기

JAVA

JAVA의 배열

  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());
		}
	}
}

 

 

'JAVA' 카테고리의 다른 글

JAVA 메소드  (0) 2020.04.21
JAVA 클래스  (0) 2020.04.21
형 변환(케스팅)  (0) 2020.04.21
Java의 변수  (0) 2020.04.21
Java 실행하기  (0) 2020.04.14