본문 바로가기

[JAVA]

[JAVA]9월 11일 배열(array), 배열 선택정렬 코드, 배열 오름차순 정렬 예제

*배열의 개념

배열(array) : 같은 타입의 변수들의 모임.

 

 

배열을 만드는 절차.

1. 먼저 배열 참조 변수부터 선언

 int[] number;    //배열 참조 변수 선언

 

2. 배열을 new 연산자를 사용하여서 생성

number = new int[6];  //배열 객체 생성

 


 

배열을 이용한 예제를 보면서 이해하자!

 public class Test {

 public static void main(String[] args) {

  int[] salary = new int[2]; // 정수타입의 2칸짜리 배열을 생성
     Scanner scan = new Scanner(System.in);
     System.out.println("직원1의 월급을 입력하시오.");
     salary[0] = scan.nextInt(); // salary[0](이건 첫번째 칸이다 index 가 0)

     System.out.println("직원2의 월급을 입력하시오.");
     salary[1] = scan.nextInt(); //salary[1](이건 두번째 칸이다 index 가 1)
     
     System.out.println("직원1의 월급은 : " + salary[0]);
     System.out.println("직원2의 월급은 : " + salary[1]);

}

}

 

 

 

 

배열을 이용해서 학생 들의 점수를 입력하고 학생들의 평균을 구하는 코드를 작성해보자.

 public class Test {

 public static void main(String[] args) {

 

  final int STUDENTS = 5;
  int total = 0;
  Scanner scan = new Scanner(System.in);
  int[] scores = new int[STUDENTS];   //학생수를 위에서 5명으로 잡아놨으니 5칸짜리 배열생성
  for (int i = 0; i < STUDENTS; i++){
   System.out.println("점수를 입력하세요.");
   scores[i] = scan.nextInt();
   
  }
  for(int i = 0; i < STUDENTS; i++)
   total += scores[i];
   System.out.println("학생들의 평균은 : " + total / STUDENTS + "입니다");

}

}

 

 

배열을 만들고 for문을 이용해서 오름차순 정렬 해보자.

 public class Test {

 public static void main(String[] args) {

  int [] arr = {5,3,1,2,8,7,0,9,6,4};  //정수배열을 만들어서 임의로 숫자를 입력해놓고.
  int min;                                   //작은값
  int minpo;                               // 작은값의 위치
  for(int j = 0; j < arr.length; j++){
   
    min = arr[j];                        
    minpo = j;
   for(int i = j; i < arr.length; i++){
    if(min > arr[i]){
     min = arr[i];           //배열의 첫번째 칸이 제일작다고 가정하고 순차적으로 검사하면서
     minpo = i;              //작은값이 나올때마다 min 에 저장 하고 index값을 minpo에 저장!     
     }
    }
  int tmp = arr[minpo];  //오름차순 정렬을 위해 임의의 바구니를 만들어준다.     
  arr[minpo] = arr[j];    //작은 값을 첫번째 칸에 넣고 첫번째 칸에 있는 숫자를 작은 숫자가 있던 인덱스에 넣어주려면
  arr[j] = tmp;              //바구니에 임시로 저장해놨다가 넣어줘야함.
  }
  for(int i = 0; i < arr.length; i++)
   System.out.print(arr[i]);

 

}

}

실행결과

0123456789        오름차순 정렬!