Study/Java (자바)

<Java> 배열 복습 (Array)

뱅코더 2021. 7. 19. 19:09

배열? (Array)

  • 같은 자료형의 변수를 묶어 놓은 것
  • 인덱스 번호는 0부터 시작한다

 

배열의 선언

  • 자료형[ ] 배열명 ;
  • 자료형 배열명[ ] ;

 

배열의 할당

  • 자료형 [ ] 배열명 = new 자료형 [배열크기] ;
  • 자료형 배열명[ ] = new 자료형 [배열크기] ;
  • ex) int [ ] arr = new int [ 4 ] ;

 

배열의 초기화

1. 인덱스 이용

ex) arr[0] = 1;

     arr[1] = 2;

 

2. for문 이용

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

           arr [ i ] = i ;

    }

 

3. 선언과 동시에 초기화

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

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

 


배열 복사

1. 객체의 주소 값만 가져와 참조형 변수에 저장 / 하나의 객체를 두 변수가 참조

 

ex)

int [ ] arr1 = new int [4] ; 

int [ ] arr 2 = arr1 ;

 

2. 새로운 배열 객체를 생성하여 기존 배열의 데이터를 복사

 

for(int i = 0; i < arr1.length; i++) { 
	arr2[i] = arr1[i];
}

System.arraycopy(arr1,0,arr2,0,arr1.length);

arr2 = Arrays.copyOf(arr1,arr1.length);

연습문제

 홀수인 양의 정수를 입력 받아 배열의 중간까지 1부터 1씩 증가 (오름차순),

 

중간 이후부터 끝까지 1씩 감소 (내림차순)한 값을 출력하는 프로그램 작성

 

 

 

Scanner sc = new Scanner(System.in);

		System.out.print("홀수인 양의 정수 입력 : ");
		int[] arr = new int[sc.nextInt()];
		System.out.print("결과 : ");
		
		// 증가하는 for문
		int num = 1;
		for(int i = 0; i < arr.length/2; i++) {
			arr[i] = num++;
			System.out.print(arr[i] + " ");
		}
		// 감소하는 for문
		for (int i = arr.length/2; i < arr.length; i++) {
			arr[i] = num--;
			System.out.print(arr[i] + " ");
		}

 

result

홀수인 양의 정수 입력 : 9
결과 : 1 2 3 4 5 4 3 2 1

'Study > Java (자바)' 카테고리의 다른 글

<Java> 별 찍기 (반복문) 실습 (2 / 2)  (0) 2021.07.18
<Java> 별 찍기 (반복문) 실습 (1 / 2)  (0) 2021.07.17