Java 배열

조수경·2021년 9월 13일
1

JAVA

목록 보기
6/26

*배열

	-여러개의 값을 하나의 변수에 저장해서 사용하는 것이다.
	-참조형 타입이다.
	-인덱스로 값을 구분한다.
	-길이를 변경할 수 없다.
    

배열 초기화 방법1

int[] array;

  • int array[]; 도 가능 - 배열의 주소룰 저장할 공간이 만들어진다.

array = new int[5];

  • 배열이 생성되고 그 주소가 저장된다.
  • int를 5개 저장할 배열을 만들겠다는 뜻 그리고 그 공간의 주소가 array변수 안에 들어감
  • 배열 초기화시 기본값이 저장된다.
  • int는 0이 기본값이라 0이 5개 들어간 배열이 만들어짐(길이만 지정함)

array(변수) = 100번지(주소)

100번지 주소 -> 첫번째 저장된 값의 주소
{0,0,0,0,0}
100,101,102,102 번지의 주소라고 보면됨

배열 초기화 방법2

array = new int[]{1,2,3,4,5};

-값을 넣어서 초기화 하는 방법(길이 뿐만아니라 값까지 넣어서 지정)

배열 초기화 방법3

int[] array2 = {1,2,3,4,5};

  • new int[]생략 (선언과 초기화를 동시에 해야함)

               System.out.println(array[0]); //첫번째에 들어있는 것 출력
    	    //[0]에 들어간 숫자를 인덱스 라고함. 배열에 들어간 값에 순서를 나타내는것 
    	    System.out.println(array[1]); //두번째에 들어있는 것 출력
    	    System.out.println(array[2]); //셋번째에 들어있는 것 출력
    	    System.out.println(array[3]); //넷번째에 들어있는 것 출력
    	    System.out.println(array[4]); //다섯번째에 들어있는 것 출력
        

System.out.println();//sysout 컨+스페이스
//한줄복사: 컨 알 방향키(위/아래)

    array[0] = 10; //0번 인덱스의 값에 10이 저장됨
    array[1] = 20;
    array[2] = 30;
    array[3] = 40;
    array[4] = 50;

for(int i = 0; i < array.length; i++){ //배열의 크기 변수는 length 지금 5가 들음
    	System.out.println(array[i]);
    	
    }

for(int i=0; i < array.length; i++){
    	array[i] = (i + 1) * 10; //0부터 4까지 들어가는데 +1을 하면 10에서 50까지의 수가 들어가는 것
    	
    }

10개의 정수를 저장할 수 있는 배열을 선언 및 초기화 해주세요

    int arr[]= new int[10];

배열의 모든 인덱스에 1~100사이의 랜덤값 저장

    for(int i = 0; i < arr.length; i++){
    	arr[i] = (int)(Math.random()*100)+1;
    }
    System.out.println(Arrays.toString(arr));

// 배열의 모든 값을 문자열로 만들어서 돌려줌(괄호 안에 들어가는 것이 반드시 배열이여야함)

// 위에 import 문을 생성해야 컴파일 에러가 발생하지 않음

             System.out.println(arr);

-- 그냥 배열 변수(arr)를 출력하면 알수 없는 값이 출력
-- 여기서 출력된 값은 arr라는 변수가 가리키고 있는, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 값이 들어있는 메모리의 주소값
-- 배열을 출력하기 위해서는 반복문을 사용하거나, 배열을 출력할 수 있는 특별한 메소드를 사용해야 함

1. 반복문

            int[] arr = { 1, 2, 3, 4, 5 };
            for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
           }
    

--배열의 각 index값을 읽어서, 값을 출력


2. java.util.Arrays의 toString() 메소드 사용하기

     import java.util.Arrays;
     public class PrintArray {
     public static void main(String[] args) {
     int[] arr = { 1, 2, 3, 4, 5 };
     System.out.println(Arrays.toString(arr));
    }
   }

-- java.util.Arrays.toString() 메소드는 파라미터로 배열을 입력받아서,
배열에 정의된 값들을 문자열 형태로 만들어서 리턴해 줍니다.

배열에 저장된 모든 값의 합계와 평균을 출력해주세요

    int sum = 0;
    
    for(int i=0; i< arr.length; i++){
    	sum += arr[i];
    }
    
    double avg = (double)sum / arr.length;
  System.out.println("합계 : "+ sum + "평균 : "+ avg);
  
  
  

배열에 저장된 값들 중 최소값과 최대값을 출력해주세요

   int min = arr[0];
   int max = arr[0];
   
  for(int i = 0; i < arr.length; i++){

	 min = arr[0];//왼쪽부터 읽으니까 0부터 시작
	 max = arr[0];
	 
	 if(arr[i] < min){
		 min = arr[i];
	 }if(max < arr[i]){
		 max = arr[i];
	 }
	  
  }
  System.out.println("최소값: "+min+"최대값: "+max);

0부터 10까지 1씩 증가하는 배열

  int[] shuffle = new int[10];
  for(int i = 0; i < shuffle.length; i++){
	  shuffle [i] = i + 1;
	 
  } 
  System.out.println(Arrays.toString(shuffle));

랜덤하게 뽑아서 0번째 배열과 바꾸기

  for(int i = 0; i < shuffle.length * 10; i++){
  int random = (int)(Math.random() * shuffle.length);
  
  int temp = shuffle[0];
  shuffle[0] = shuffle[random];
  shuffle[random] = temp;
  }
  System.out.println(Arrays.toString(shuffle));
  
  

//1~10 사이의 랜덤값을 500번 생성하고, (1부터 10각각 숫자가 생성된 횟수를 출력

	int[] random = new int[500];
	
	int[] score = {1,2,3,4,5,6,7,8,9,10};
	
	int number1=0;
	int number2=0;
	int number3=0;
	int number4=0;
	int number5=0;
	int number6=0;
	int number7=0;
	int number8=0;
	int number9=0;
	int number10=0;
	
	for(int i= 0; i < random.length; i++){
		random[i] = (int)(Math.random()*10)+1;
    
	if(score[0] == random[i]){
		number1 ++;
		
	}
	if(score[1] == random[i]){
		number2 ++;
	}
	if(score[2] == random[i]){
		number3 ++;
	}
	if(score[3] == random[i]){
		number4 ++;
	}
	if(score[4] == random[i]){
		number5 ++;
	}
	if(score[5] == random[i]){
		number6 ++;
	}
	if(score[6] == random[i]){
		number7 ++;
	}   
	if(score[7] == random[i]){
		number8 ++;
	}
	if(score[8] == random[i]){
		number9 ++;
	}
	if(score[9] == random[i]){
		number10 ++;
	}
	}
	 System.out.println(Arrays.toString(random));
	 
	 System.out.println("1의 갯수"+number1);
	System.out.println("2의 갯수"+number2);
	System.out.println("3의 갯수"+number3);
	System.out.println("4의 갯수"+number4);
	System.out.println("5의 갯수"+number5);
	System.out.println("6의 갯수"+number6);
	System.out.println("7의 갯수"+number7);
	System.out.println("8의 갯수"+number8);
	System.out.println("9의 갯수"+number9);
	System.out.println("10의 갯수"+number10);
	
profile
신입 개발자 입니다!!!

0개의 댓글

관련 채용 정보