자바에서 배열은 객체(object)입니다.

배열을 생성하기위해 두단계의 절차를 진행합니다.

int[] s;

배얄 참조  변수를 선언했다고 해서 배열이 생성된것이 아닙니다.

변수만 생성되었지만 실제 배열은 new 할당을 받아서 생성해야합니다.

s=new int[10];

변수  s 10개의 배열을 생성했습니다.

즉 배열의 선언할때는 

int array[]=new int[5];

이런식으로도 선언할수 있습니다.

 

그렇다면 무명 배열(anomymous arrays)를 알아보겠습니다.

new int[] {1,2,3,4}

배열에 이름없이 주어진 초기값만으로 배열이 생성할수 있습니다.

이 배열은 딱 한번 참조하며 더이상은 사용되지 않습니다.

 

sum 이라는 더하기 함수를 사용해보겠습니다.

public class AnonymousArray{
public static void main(String[] args){
System.out.println("숫자들의 합:"+sum(new int[]{1,2,3,4,}));

}

public static int sum(int[] numbers){
int total =0;

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

        total=total+numbers[i];
}

return total;

}


}

이런 예시로 사용할수 있습니다.

 

for -each 루프

jdk 1.5 버전 이상부터 사용하는 방식입니다. 

for( 변수: 배열){

}

코드로 확인해보면 

public class ArrayTest4{
public static void main(string[] args){
int[] numbers={10,20,30};

for(int value:numbers)
    System.out.println(value+"");



}



}

배열 복사

int [] list={10,20,30,40,50};
int [] numbers=list;

이런 방식으로 해주면됩니다.

arry 복사는 copyOf() 메소드를 사용 할 수 있습니다.

int []list_copy=Arrays.copy(list,list.length);

main () 함수 매개 변수

public static void main(String[] args)

메인 함수의 매개변수(파라미터) 문자열 배열입니다. 

이 문자열 배열에는 우리가 명령어 프로프트에서 프로그램을 실행시켜주는 인수들이 저장됩니다.

 

배열 정렬

 자료구조에서 배우는  정렬(sort) 이며

여기서 사용되는 sort 메소드는 퀵정렬입니다 .

퀵정렬 관련해선 c++ 나중에 정리해보도록 하겠습니다.

사용방법은 

import java.util.Arrays;
public class SortExample{

public static void main(String[] args){

final int Size=10;
int[] numbers=new int[Size];
for(int i=0;i<Size;i++){

int r=(int)(Math.random()*100);
number[i]=r;

}
System.out.println("최소한 리스트:");

for(int r:numbers)
    System.out.println(r+"");

Arrays.sort(numers);

for(int r:numbers)
    System.out.println(r+"");


}



}

 랜덤값을 넣어서 정렬을 한 sort로 정렬을 했습니다.

 

2차원 배열

이번에는 2차원 배열의 생성을 해보겠습니다.

초기화는 

int [][] testArray={

{10,20,30},
{40,50,60},
{70,80,90},


};

선언 방식은 

int[][] s= new int[3][5];

2차원 배열을 선언합니다. 

다음에는 배열 리스트에 대해 알아보겠습니다.

'프로그래밍언어 > JAVA' 카테고리의 다른 글

JAVA<Class,Object,Method-01>  (0) 2019.11.20
JAVA <Array-List/래그드 array>  (0) 2019.11.17
자바 제어문 /반복문  (0) 2019.11.13
JAVA 기초 개념  (0) 2019.11.13
자바 들어가기전에..  (0) 2019.11.13

+ Recent posts