2018-3-7 TIL Console Array
배열
- 배열이란 ‘자료형이 같은 둘 이상의 값’을 저장할 수 있는 메모리공간을 의미한다. 그리고 배열은 1차원 배열, 2차원 배열, 다차원 배열로 나뉜다.
public static void main(String [] args){
int [] ref; // 참조변수 선언
ref = new int[5]; // 배열 인스턴스 생성
....
}
package yoon;
public class ArrayIsInstance {
public static void main(String [] args){
// 길이가 5인 1차원 배열 생성
int [] ar1 = new int [5];
// 길이가 7인 double형 1차원 배열의 생성
double [] ar2 = new double [7];
// 배열의 참조변수와 인스턴스 생성 분리
float [] ar3;
ar3 = new float[9];
//배열의 인스턴스 변수 접근
System.out.println("배열 ar1의 길이 : " + ar1.length);
System.out.println("배열 ar2의 길이 : " + ar2.length);
System.out.println("배열 ar3의 길이 : " + ar3.length);
}
}
//result
배열 ar1의 길이 : 5
배열 ar2의 길이 : 7
배열 ar3의 길이 : 9
package yoon;
class Box {
private String conts;
Box(String cont){
this.conts = cont;
}
public String toString() {
return conts;
}
}
public class ArrayIsInstance2 {
public static void main(String [] args){
Box [] ar = new Box[5]; // 길이가 5인 Box형 1차원 배열의 생성
System.out.println("length : " + ar.length);
}
}
//result
length : 5
- Box형 인스턴스 5개를 저장할 수 있는 참조변수의 배열이다.
package yoon;
public class BoxArray {
public static void main(String [] args){
Box [] ar = new Box[3];
//배열에 인스턴스 저장
ar[0] = new Box("first");
ar[1] = new Box("second");
ar[2] = new Box("third");
System.out.println(ar[0]);
System.out.println(ar[1]);
System.out.println(ar[2]);
}
}
//result
first
second
third
배열을 생성과 동시에 초기화하기
int [] arr = new int[3] {1, 2, 3};
int [] arr = new int[] {1, 2, 3};
// 위의 경우 둘 다 가능
int [] arr = {1, 2, 3}
배열의 초기화와 배열의 복사
int [] ar = new int [10]; // 배열의 모든 요소 0으로 초기화
String [] ar = new String[10]; // 배열의 모든 요소 null로 초기화
-
위와 같은 경우 원하는값으로 초기화를 못한다.
- public static void fill(int [] a, int val) : 두 번째 인자로 전달된 값으로 배열 초기화
- public static void fill(int [] a, int fromIndex, int toIndex, int val) : 인덱스 fromIndex ~ toIndex-1의 범위까지 val값으로 배열 초기화
package yoon;
import java.util.Arrays;
public class ArrayUtils {
public static void main(String [] args){
int [] ar1 = new int[10];
int [] ar2 = new int[10];
Arrays.fill(ar1, 7); // 배열 ar1을 7로 초기화
System.arraycopy(ar1, 0, ar2, 3, 4);
// 배열 ar1을 ar2로 부분복사
for(int i = 0; i < ar1.length; i++)
System.out.print(ar1[i] + " ");
System.out.println();
for(int i = 0; i < ar2.length; i++)
System.out.print(ar2[i] + " ");
}
}
main메소드의 매개변수 선언
- public static void main(String [] args){…}
- 매개변수로 String배열의 참조변수가 선언되었다.
Written on March 7, 2018