[JAVA]/06.배열
02. 배열 선언과 생성
76beny
2022. 4. 6. 20:21
목차
- 배열 선언과 생성
- 예시) 배열 기본 생성법
- 예시) 배열 직접 선언
- 예시) 배열 표준적 사용법
배열 선언과 생성
■ 배열을 다루기 위한 참조변수 선언
■ 타입1개당 변수는 1개만 선언! (변수(배열)2개 나열 시 2번째 변수의 타입이 정확하지않음.)
■ 선언
타입[ ] 배열명 ; (java에서 많이사용)
타입 배열명[ ] ; (C언어에서 많이사용)
* [00타입]의 배열을 다루기 위한 참조변수 [배열명]선언
■ 생성 (실제 저장공간을 생성!)
타입[0] 변수이름(배열명) = new 타입[배열크기];
타입 변수이름(배열명)[ 0 ] = new 타입[배열크기];
* new는 객체를 새로 생성하는 키워드!(새로운 메모리 할당!)
* 00타입의 값0개를 저장할수 있는 배열 생성.
예시 ) 배열 기본 생성법
public static void main(String[] args) {
System.out.println("1.배열 기본생성법");
int[] array = null;
array = new int[10];
// null로 초기화 가능하면? 참조형 변수,array는 객체인데 배열이라 특수한 성질
// 10개의 공간을 Heap에 생성하고, array라는 변수명에 주소값을 입력
// 10개의 공간을 만든다음에 array에 할당시켜줘! 라는 뜻(명령어)
// 배열(객체)는 생성과동시에 모든값이 0 으로 초기화 된다.
// 초기화를 안했을 경우
// int num;
// System.out.println(num);//에러발생 -> 변수가 초기화가 안됬기때문에
System.out.print(array[0]);// 초기값 : 0
System.out.print(array[1]);// 초기값 : 0
// 사용자가 직접 접근하여 초기화(할당) 하는 문법
array[0] = 0;
array[1] = 1;
array[2] = 2;
for (int i = 0; i < 10; i++) {
array[i] = i; // i로 접근하고 i로 초기화// = array [i]=i;
System.out.print(array[i]);// 0123456789순서대로 찍힘
// 순회는 반복문으로
// 여기서 i는 인덱스의 약자(index)
// for(int i = 0 ; i <=9;i++)=>이문법은 쓰지 말것,
// WHY? 가능은 하나,잘 돌지만 위에 array = newint[10];의해
// 범위수정했을때 반영이안되서 범위가 달라짐 오류!
// for(int i = 0 ; i < = 10 ; i ++) 이것도 잘못됨, 왜냐면array = new int[10]=>
// 0,1,2,3,4,5,6,7,8,9라서 배열범위 초과됨
}
예시 ) 배열 직접 선언
System.out.println("2.배열 직접 선언하는 방법");
int[] array2 = new int[10];// 선언의 표준적인 방법
int[] array3 = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
// 크기 지정하지 않고 직접 초기화
//int [] array3 = new int[5] {1,2,3,4,5};//크기 지정하면 에러!!
// ★★★★★배열에서 Length를 hard코딩 안하는 방법 << 외워야 한다.
// 숫자로 입력하지 않고 해당 배열길이(array3.length) 선언하고 출력
for (int i = 0; i < array3.length; i++) {
System.out.println(array3[i] + " ");
}
■ Hard 코딩 : 사람이 직접 상수나 특정 수(데이터)를 입력하는 방법.
■ Hard코딩의 문제점 : 동적인 상황이나 실수에 대처가 되지 않음!
■ Hard코딩의 경우 2가지
/* 경우1 - 모든값이 출력되지 않음!->엄청 큰문제*/
for ( int i = 0 ; i < 10 ; i ++) {
System.out.print(array3[i]+ " ");
}
/* 경우2 - 배열의 범위를 뛰어넘어서 에러발생.*/
for ( int i = 0 ; i < 20 ; i ++) {
System.out.print(array3[i]+ " ");
}
예시 ) 배열 표준적 사용법
System.out.println("3. 배열 가장 표준적으로 사용하는 방법");
int[] array5 = new int[12]; //
for (int i = 0; i < array5.length; i++) {
System.out.println(array5[i]);
}
// 문자열 배열
String[] strArray = new String[] { "사과", "바나나", "딸기" };
//For문 안쓰고 내용을 출력하는 방법!
System.out.println(Arrays.toString(strArray));
// int나 다른타입도 가능!
// import java util.Arrays;=>임포트문 추가되어야 함!
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."