본문 바로가기
Study/Java

[Java] 배열 & 조건문 & 반복문

by JYHAN 2020. 7. 1.

배열

인데스를 이용해서 자료형이 같은 데이터를 관리하는 것

배열은 주로 많은 데이터를 쉽게(효율적) 관리하기 위해 사용한다

// 배열 선언 후 초기화
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

댓글