배열 선언
int [] nums; int nums[];
-> 이와 같이 변수를 선언할 때 대괄호를 열고 닫음으로써, 해당 변수가 배열이라는 것을 정의할 수 있음 (대괄호 안에는 아무것도 쓰면 안됨)
-> 배열도 참조 자료형이기 때문에 new를 사용
int [] nums = new int[7]
-> 초기화 / 7개의 값을 지정할 수 있는 자리를 가짐
nums[1] = 15;
-> 배열에 값을 지정
배열의 기본값
byteArray[0] = 0 shortArray[0] = 0 intArray[0] = 0 longArray[0] = 0 floatArray[0] = 0.0 doubleArray[0] = 0.0 charArray[0] = [ ] // \u0000 화면 출력 X boolArray[0] = false
배열 선언 정리
int[] numbers = new int[] {10, 20, 30};
//개수 생략해야 함
int[] numbers = {10, 20, 30};
// new int[] 생략 가능 , 선언과 동시에 초기화할때만 이렇게 가능
int[] ids; ids = new int[] {10, 20, 30};
// 선언후
public class ArrayInitialize { static String [] month = { “january”, “December”}; }
static사용하면 객체를 생성할때마다 month배열을 새로 생성할필요 없음 (주의해서 사용)
2차원 배열
int [] twoDim[]; OR int twoDim[][]; twoDim = new int[2][3]
OR
int [][] towDim = {{1,2,3},{4,5,6}}
twoDim[0] = new int [3]; twoDim[1] = new int [2];
(1차원만 지정하고 2차원 지정하지 않을 수도 있음) -> 이 경우 2차원 공간 다르게 설정가능
배열의 길이 파악
1차원 배열 길이 : twoDim.length
2차원 배열 길이 : twoDim[0].length
배열의 내용 확인할 때
(매번 길이 불러오지 않게 변수로 할당)
int D1 = twoDim.length for (int one = 0; one<D1; one++) { int D2 = twoDim[0].length for (int two = 0; two<D2; two++) { System.out.println(“twoDim[“+one+”][“+two+”]=”+twoDim[one][two]); } }
배열을 위한 for루프
1) 1차원 배열
for(int data:oneDim) { System.ou.println(data); }
2) 2차원 배열
for(int[] dimArray:twoDim) { for(int data:dimArray){ System.ou.println(data); } }
자바가 실행할 때 원하는 값들을 넘기기
public class Arraymain { public static void main (String args[]) { if(args.length>0) { for(String arg:args) { System.out.println(arg); } } } }
명령어
$ javac ArrayMain.java $ java ArrayMain a b c d
결과
a b c d
-> 애플리케이션이 시작할 때 전달해야할 값들이 있다면 이 방식 활용