배열
인데스를 이용해서 자료형이 같은 데이터를 관리하는 것
배열은 주로 많은 데이터를 쉽게(효율적) 관리하기 위해 사용한다
// 배열 선언 후 초기화
int[] arr1 = new int[3];
arr1[0] = 1;
arr1[1] = 2;
arr1[3] = 3;
// 배열 선언과 초기화를 동시에
int[] arr2={1,2,3};
배열은 Immutable
최초 Memory Allocation 이후, 변경할 수 없다
개별 요소는 다른 값으로 변경이 가능하나, 삭제할 수 없다
크기를 늘리거나 줄일 수 없다
변경이 필요한 경우, 새로 작성하는 것이 낫다
배열과 메모리
배열을 구성하는 데이터의 자료형에 따라서 배열의 메모리 크기가 결정된다
int[] arr = new int[3];
int -> 4byte
arr -> 4*3 = 12byte
기본 자료형 데이터를 담고 있는 변수와 달리 배열 변수는 배열 데이터의 주소를 담고 있다
int[] arr1 = {10,20,30};
int[] arr2 = null;
int[] arr3 = null;
System.out.println(arr1.length);
System.out.println(Arrays.toString(arr1));
// 아래 두 개의 차이를 이해하는게 중요!
arr3 = Arrays.copyOf(arr1, arr1.length);
arr2 = arr1;
System.out.println(arr1);
System.out.println(arr2);
System.out.println(arr3);
----- result -----
3
[10, 20, 30]
[I@123772c4
[I@123772c4
[I@2d363fb3
조건문
if, switch 사용, Java Version 7 이후 Switch 조건에서 String 지원
int test = 2;
switch (test) {
case 1:
System.out.println("Hello");
break;
case 2:
System.out.println("World");
break;
case 3:
System.out.println("!!!");
break;
default:
System.out.println("Hello World");
break;
}
----- result -----
World
반복문
프로그램을 특정 조건에 따라 반복적으로 진행하는 것
for(int i=2; i>=0; i--) {
System.out.println(i);
}
System.out.println();
int n1=3;
while((n1--)>0) {
System.out.println(n1);
}
System.out.println();
int n2=3;
do {
--n2;
System.out.println(n2);
}while((n2--)>0);
----- result -----
2
1
0
2
1
0
3
2
1
0
for-each
Java 5.0부터 지원
가독성이 개선된 반복문으로, 배열 및 Collections에서 사용
index 대신 직접 요소(elements)에 접근하는 변수를 제공
Naturally read only
int[] array = {1,2,3,4};
for(int x : array){
System.out.println(x);
}
---- result ----
1
2
3
4
'Study > Java' 카테고리의 다른 글
[Java] 생성자와 소멸자 그리고 this 키워드 (0) | 2020.07.02 |
---|---|
[Java] 메서드, 오버로딩, 오버라이딩 (0) | 2020.07.01 |
[Java] 클래스와 객체의 생성 (0) | 2020.07.01 |
[Java] 변수 & 자료형 & 연산자 (0) | 2020.06.29 |
[Java] Java란?? (0) | 2020.06.29 |
댓글