1차원 배열

배열의 선언 방식

int a[ ];     // 선언1
ex)  a = new int[3];    // a[0] a[1] a[2] ,  . a.length(3)

int a[] = new int[3];   // 선언2,  . a.length(3)

int a[] = { 3, 7, 9 };   // 선언3.  선언과 값이 함께 저장되는 방식


예제 1.  배열 a에 3, 7, 12를 넣고 배열 내용을 출력


int a[] = new int[3];

a[0] = 3;

a[1] = 7;

a[2] = 12;

// 배열내용 출력

for (int i = 0; i < a.length; i++) {

System.out.println("a[" + i + "]=" + a[i]);

}




배열 내용은 for문을 통하여 출력. 배열의 인덱스값인 i를 0부터 배열.length(해당 배열의 길이)보다 작을 때 증가시켜 순차적으로 출력시킬 수 있다.





예제 2.  위 배열의 합계를 구해 출력


int a[] = new int[3];

a[0] = 3;

a[1] = 7;

a[2] = 12;

// 배열내용 합계

int sum = 0;

for (int i = 0; i < a.length; i++) {

sum += a[i];

}

System.out.println("total = " + sum);






예제 3.  위의 배열을 a[ ] = { 3, 7, 12 } 형태로 선언하여 차례로 출력

int a[] = { 3, 7, 9 };
for (int i = 0; i < a.length; i++) {
System.out.println("a[" + i + "]=" + a[i]);
}






1차원 배열 문제 1.


(1차배열)1번 학생 100점 2번 학생 90점 3번학생 85점이다. 점수를 score 배열 변수에 저장하 고 1) 아래와 같이 출력하시오.

1번 학생 : 100점  

2번 학생 : 90점  

3번 학생 : 85점  


2) 학생들의 총점을 출력하시오.


public static void main(String args[]){

int score[] ={100,90,85};

int sum=0;

for(int i=0;i<score.length;i++){

System.out.println((i+1)+"번 학생 : "+score[i]+"점");

sum += score[i];

}

System.out.println("total = "+sum);

}







1차원 배열 문제 2.


1월달 사원(1번부터 5번사원)의 실적이 50 45 35 12 70 이다. (실적 0~100)
1) 사번별 실적을 출력하시오.
사원(1) 50
..
2) 1월 실적의 총점과 평균을 출력하시오.
3) 실적이 제일 큰 사원의 사번과 실적, 작은 사원의 사번과 실적을 출력하시오.

정답
public static void main(String[] args) {
int arr[] = {30, 85, 35, 12, 70};
int sum=0; double avg=0.0;
int maxnum = 0, maxEmpNum=0; // 점수제일큰...최대값과 최대값의 인덱스
int minnum = 100, minEmpNum=0;// 최소값과 최소값의 인덱스.
for(int i=0;i<arr.length;i++){
System.out.println("사원(" + (i+1) + ") "+arr[i]); 
sum += arr[i]; //총점
if (maxnum < arr[i]) {     // 실적 0부터 비교하며 큰 것을 차례로 대입
maxnum = arr[i]; maxEmpNum=i+1;//인덱스는0부터니 1더함
}
if (minnum > arr[i]) {    // 실적 100부터 비교하며 거꾸로 작은 것을 차례로 대입
minnum = arr[i]; minEmpNum=i+1;//인덱스는0부터니 1더함
}
}
avg = sum/arr.length; //평균
System.out.println("총점 = "+sum);
System.out.println("평균 = "+avg);
System.out.println("최대실적 = "+maxnum + " , 실적 = "+maxEmpNum); //점수 제일 큰 사번 
System.out.println("최소실적 = "+minnum + " , 실적 = "+minEmpNum); //점수 제일 적은 사번 
}









'자바의 기초문법' 카테고리의 다른 글

Scanner를 이용한 if, for, array 예제  (0) 2015.12.14
2차원 배열  (0) 2015.12.14
반복문 while  (0) 2015.12.12
이중 for문을 이용한 응용 예제  (0) 2015.12.12
이중 for문  (0) 2015.12.12
Posted by netyhobby
,