배열 변수 이미 선언한 후에 다른 실행문에서 중괄호를 사용한 배열 생성은 허용되지 않는다.
타입[] 변수;
변수 = {1,,3,2,3,4} -> 컴파일 에러
변수 = new 타입[] {값1, 값2, 값,3 }
메소드의 매개값이 배열 일 경우에 new 연사자로 이용해 값을 전달해야 한다
int add(int[] scores){...}
int result = add(1,3,2,3,4}) -> X 컴파일 에러
int result = add(new int[] {95,99,04});
타입[] 변수 = new 타입[길이] 가능
인덱스 초과해서 사용 -> ArratIndexOutOfBoundException
커맨드 라인 입력
public static void main(String[] args){...}
"java 클래스"프로그램 실행시 JVM은 길이가 0인 String 배열을 먼저 생성하고 Main() 메소드를 호출할 때 매개 값 전달
String args = {};
public static void main(String[] args){}
"java 클래스" 뒤에 공백으로 구분된 문자열 목록을 주고 실행하면 문자열 목록으로 구성된 String[]배열이 생성되고 main() 메소드를 호출할 때 매개값으로 전달
이클립스 매개값 주고 실행시 [Run -> Run Configurations] Main tab [Project] [Main class] 확인
[Arguments] 탭 클릭 [Program argument] 입력란 10 입력한후 빈칸을 띄우고 다시 20을 입력 [Run] 버튼 클릭
Integer.ParseInt() 메소드를 이용해서 정수로 변환
-> 변환할수 없는 문자열이 주어졌을 경우 NumberFormatException 실행 예외 발생
배열 복사
System.arraycopy() 메소드 사용
System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length);
src => 원본배열
srcPos => 시작할 인덱스
dest => 매개값 새배열,
destPos => 새배열에서 붙여넣을 시작 인덱스
length => 복사할 갯수
얕은 복사(shallow copy) : 참조하는 객체 동일
깊은 복사(deep copy) : 객체를 별도로 생성하는것
https://suminpixel.tistory.com/15
'Back-end > 이것이 자바다[신용권 한빛미디어]' 카테고리의 다른 글
try-catch-finally (0) | 2021.08.18 |
---|---|
열거 타입 (0) | 2021.07.25 |
String 타입 (0) | 2021.07.25 |
JVM 내부구조 (0) | 2021.07.25 |
Java 연산자 (0) | 2021.07.25 |