배열

구름·2022년 11월 17일

Java_1

목록 보기
7/19

배열이란?
하나의 변수에, 같은 타입인 여러개의 값을 저장 할 수 있다.

배열의 특징

  1. 배열 변수의 동일한 자료형의 값만 저장할 수 있다.
  2. 변수의 선언과 달리, 처리해야할 변수가 많다면 배열의 길이를 바꾸면된다.
  3. 배열은 방의 갯수가 정의 되면, 수정이 불가능
  4. 배열의 초기 값을 할당하지 않더라도, 강제로 초기값이 할당된다.
  5. 메모리의 Heap영역에는 값이 반드시 할당되어야 한다.
    1. 인덱스

: 배열의 요소마다 붙여진 일련번호

배열의 선언 방법

1. 1번째 배열의 선언 : 배열을 다루기 위한, 참조변수의 선언

변수 타입 뒤에 [] 를 붙여 배열선언을 함 = new int [] ← 중괄호 안에 방의 갯수를 명시해줌

int [] arr1 = new int [5]; 
arr1[1]= 10;
arr1[2]= 20;
arr1[3]= 30;
arr1[4]= 40;
arr1[5]= 50;
System.out.println(arr1[0]);

=> 배열 arr1이라고 읽음

2. 2번째 배열 선언

배열 선언 후, 방의 갯수를 분리해서 선언.
배열 변수의 값도 그 후에 선언해준다.

int[] arr2; //참조변수 선언 
arr2 = new int[2]; //배열의 길이를 먼저 설정 
arr2[0]=1; //값을 넣어줌 
arr2[1]=2;
System.out.println(arr2[0]);

3. 3번째 배열 선언 방법

배열 변수를 선언후 방의 값을 지정하지 않고 값을 넣어줌
⇒ 자동으로 방이 배정
⇒ 출력문에 변수[1] 이런식의 방의 정보를 입력
System.out.println(arr3[0]);

int[] arr3 = new arr3[] { 10,20,30,40}; //값을 직접 넣어줄때만 {} 붙여줌 
System.out.println(arr3[0]);
System.out.println(arr3[1]);
System.out.println(arr3[2]);

4. 4번째 배열 선언 방법

배열 선언과 동시에 값을 할당한다. 선언과 값 할당을 분리 시 , 오류발생
ex) int[] arr9;
arr9 = {10,20,30} ⇒ 오류 발생 앞에 new int[ ] 붙여줘야함

int[]arr4 = {10,20,30,40}; //배열 선언 동시에 값을 넣어줌. 길이를 지정하지 않음 
System.out.println(arr4[0]);
System.out.println(arr4[1]);
System.out.println(arr4[2]);
System.out.println(arr4[3]);

배열에 값을 넣고 출력하기

1. 직접 값을 넣고 출력하는 법

int arr1[] = new int [5];
arr1[0] = 10;
arr1[1] = 20;
arr1[2] = 30;
arr1[3] = 40;
arr1[4] = 50;

2. For 문을 사용해서 대량으로 값을 넣고 출력하는 방법

int arr1[100];
for (int i = 0 ; i < 100 ; i ++) {
arr2[i] = i + 1 ;
} // i는 방번호를 지정해주고, 값을 i+1 된 값을 넣는다는 말 

for ( int i = 0 ; i <100 ; i++) {
system.out.println(arr2[i]);
// 주의 : 위의 for문 이 끝난 뒤 출력문을 넣어야함 ,, 오류 발생 

3. Enhanced For문으로 출력하는 방법

For(int k : arr1) {
system.out.println (k); 
}
// k라는 임의의 변수에 arr1값을 넣은뒤 출력 

4. Arrays.toString(배열변수)로 출력

  • 1차원 배열변수만 출력 가능

    system.out.println(Arrays.toString(arr1));

For문을 사용해서 배열 변수에 7의 배수 값만 지정하기

for (int i = 0 , j = 7 ; i < arr1.length ; i++ , j+=7){
arr1[i]=j;
}
for (int i = 0 ; i <arr1.length ; i ++ {
system.out.println(arr1[i]); // arr1에 7의 배수 만큼 들어간다. 
profile
내가 보려고 하는 업데이트

0개의 댓글