배열
배열은 같은 타입의 값을 여러개 담을 수 있다.
배열의 각 항목을 요소라 한다.
요소는 0부터 순서대로 매겨지는 인덱스를 가진다.
요소에 접근하기 위해선, 인덱스와 꺽쇠를 사용한다. 예를 들어, arr[4].
자바에선 배열도 객체다.
따라서 배열 객체를 생성해야 배열을 사용할 수 있다.
예제
int[] arr = null;//int 배열 선언 arr = new int[4]; /* 4는 배열의 크기다. 이 값은 배열 객체의 변수 length에 저장되고 결코 변경할 수 없다. 배열 요소는 0으로 초기화된다. */ arr[0] = 1;//첫 번째 배열 요소에 1 할당 arr[1] = 2;//두번째 배열 요소에 2 할당 arr[2] = 3;//세번째 배열 요소에 3 할당 arr[3] = 4;//마지막 배열 요소에 4 할당(배열크기가 4이므로 3이 마지막 인덱스)
배열 리터럴을 사용하면 이 코드를 한 줄로 줄일 수 있다.
int[] arr2 = {1, 2, 3, 4};
String[] arr3 = null;//String 배열 선언 arr3 = new String[2];//배열 크기는 2로 고정되고 모든 배열 요소는 null로 초기화 arr2[0] = "Java";//첫 번째 배열 요소에 "Java" 레퍼런스 할당 arr2[1] = "School";//두번째 배열 요소에 "School" 레퍼런스 할당
배열 리터럴을 사용하면 이 코드를 한 줄로 줄일 수 있다.
String[] arr4 = {"Java", "School"};
자바 프로그램에서 문자열 사용하기
자바는 String 클래스로부터 객체를 생성해 문자열을 표현한다. "안녕하세요"라는 문자열이 필요하면 다음과 같이 코딩한다.
char[] arrayOfHello = {'안', '녕', '하', '세', '요'}; String greetings = new String(arrayOfHello);
자바는 String 리터럴을 제공한다.
String hello = "안녕하세요"; //여기서, "안녕하세요"는 String 리터럴이다.
main 메소드에 String[] 배열를 전달하는 방법
public class ArrayTest { public static void main(String[] args) { System.out.print(args[0] + "년 "); System.out.print(args[1] + "월 "); System.out.println(args[2] + "일"); } }C:\ Command Prompt
C:\javaApp>javac ArrayTest.java C:\javaApp>java ArrayTest 2018 12 31 2018년 12월 31일