Jun's Blog

[Java] 배열 (Array) 본문

Java

[Java] 배열 (Array)

Fizzyelf 2020. 9. 17. 19:41

1. 배열 (array)이란?
  - 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것.
  
2. 배열의 선언 
  - 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 []를 붙이면 된다.
    변수타입[] 변수명; int[] arr; 참조형은 주소를 저장함
    변수타입 변수명[]; int arr[];

 

  ex) int[] arr = new int[]{1,2,3,4,5};

       int[] arr = {1,2,3,4,5};    // 선언 및 생성이 동시에 될 때

       => 둘 다 같은 의미로 쓰인다
   
3. 배열의 생성
  - 배열을 선언한 다음에는 배열을 생성해야 한다.
  - 배열을 생성하기 위해서는 연산자 'new'와 함께 배열의 타입과 크기를 지정해 주면 된다.
   ex) 변수명 = new 변수타입[3];
   변수명 = new 변수타입[]{10, 20, 30, 40};

4. 배열의 초기화
- 배열은 생성과 동시에 자동적으로 자신의 타입에 해당하는 기본값으로 초기화된다.


ex1) int형 값을 4개 저장할 수 있는 변수 arr을 선언 및 생성하시오

 

    int[] arr = new int[4]; // {0,0,0,0}
    System.out.println(arr[0]);
    System.out.println(arr[1]);
    System.out.println(arr[2]);
    System.out.println(arr[3]);
    // 시작 0 ,끝 3, 증가량 1 
    
    for (int num = 0; num < arr.length; num++){
    	System.out.println(arr[num]);
    }
    
    // 출력
    0
    0
    0
    0

ex2) 0번 index(방)에 10, 1번 index에 20, 2번 index에 30, 3번 인덱스에 40


ex3) arr의 모든 방의 합계를 구하라

    int[] arr = new int[]{1,3,5,7,9};  // =(같다) int[] arr = {1,3,5,7,9};

    int sum = 0;
    
    // 시작 : 0, 끝 : 4, 증가량 : 1
    // 반복구문 : sum+=arr[num];
    
    for (int num = 0; num < arr.length; num++){
    	sum += arr[num];
    }
    System.out.println(sum);

ex4)

 

1. 6과목의 점수(정수)를 저장할 수 있는 변수 score를 선언 및 생성하시오.

    int[] score = new int[6];

 

 

2. score 각 방을 0~100 사이의 임의의 정수 값으로 변경하시오

    for(int num = 0; num < score.length; num++){
    	score[num] = (int)(Math.random()*101);
    }

 

 

3. score의 각 방의 값을 출력하여라.

    for(int num = 0; num < score.length; num++){
   		 System.out.println(score[num]);
    }

 

 

4. 방의 합계를 구하시오

    int sum = 0;
    for(int num = 0; num < score.length; num++){
	    sum += score[num];
    }
    System.out.println(sum);

 

 

5. score 값들의 평균. 단 소수점 3번째 자리에서 두 번째 자리까지 반올림해서 표현하시오

    float avg = 0f;			
    avg = (float)sum/score.length;
    System.out.println((int)(avg*100+0.5)/100f);

 

 

6. score의 값들 중 최댓값과 최솟값을 구하시오.

(단, 최댓값을 0으로 초기화하지 말고 최솟값을 100으로 초기화하지 말 것)

 

    int max = score[0];
    int min = score[0];

    for(int num = 1; num < score.length; num++){
   	    if(score[num] < max){
    		max = score[num];
    	}
    	if(min < score[num]){
    		min = score[num];
    	}
    }
    System.out.println(max);
    System.out.println(min);
Comments