자바(JAVA) 기초 함께 알아보자

자바(JAVA) 기초 함께 알아보자(10) - for-each반복문(loop)

jay_the_code 2024. 9. 26. 13:01

지난번 배열(Array)에 이어서 이번에는 for-each 반복문에 대해서

알아보겠습니다.

 

for-each 반복문을 배열(array)을 알아본 이후에 하는 이유는 for-each문이

배열을 사용하는 반복문이기 때문입니다.

for-each 반복문

 

for-each문은 기본적으로 for문의 확장된 버전입니다.

 

for-each문은 배열(array)과 같은 그룹화된 데이터반복시키는데

최적화된 문법입니다.

for-each 작성법

 

int[] numbers = {1, 5, 6, 9, 2};

for(int a : numbers){
	System.out.println(a);
}

 

위 코드는 for-each를 사용하는 간단한 코드입니다.

 

먼저 ( ) 안에서 왼쪽 부분에는 배열 안에서 사용되는 데이터 타입

맞는 변수를 지정해줍니다.

 

( )의 오른쪽 부분에는 배열을 집어넣어 주고 변수와 배열은

' : ' 로 구분하게 됩니다.

 

반복문이 반복될 때마다 a의 값은 각 배열의 항의 값(value)을

가지게 됩니다.

 

따라서 첫 번째 반복 때는 1, 두번째 반복때는 5,... , 마지막에는 2와 같은

값을 가지게 됩니다.

for 와 for-each 차이점

 

for문으로 작성했을 때와 for-each로 작성할 때의 차이점과

for-each가 가지는 장점을 아래 두 예시를 통해 알아보겠습니다.

int[] group = {1, -3, -58, 47, -18, 7, 9};

int countPlus = 0;
int countMinus = 0;

for(int b : group){
	if(b >= 0){
    	countPlus++;
    }else{
    	countMinus++;
    }
}

System.out.println("positive num: " + countPlus);
SYstem.out.println("negetive num: " + countMinus);

 

위 예시는 배열에서 음수와 양수의 수를 알아보는 for-each를 사용한 코드입니다.

int[] group = {1, -3, -58, 47, -18, 7, 9};

int countPlus = 0;
int countMinus = 0;

for(int a = 0 ; a < group.length ; a++){
	if(group[a] >= 0){
    	countPlus++;
    }else{
    	countMinus++;
    }
}

System.out.println("positive num: " + countPlus);
System.out.println("negetive num: " + countMinus);

 

위 예시는 for를 사용해서 만든 같은 코드입니다.

 

비교해 보시면 어떠신가요?

 

for-each를 사용한 코드가 직관적이고 배열의 각 항의 값변수에 자동으로

적용되기 때문에 간단하고 이해하기 쉽다는 것을 알아볼 수 있습니다.

 

또한 반복 횟수가 자동으로 배열의 길이만큼으로 설정되기 때문에

오타와 오류를 발생시킬 위험이 적어집니다.

 

앞으로 더 공부를 해나가다 보면 array 혹은 arraylist를 많이 사용하게 됩니다.

이때 반복문이 필요한 상황에 for-each를 사용하여 간단하고 직관적인 코드를

작성하시길 바랍니다.

 

지금까지 반복문 for-each에 대해서 알아보았습니다.

다음에는 반복문에서 사용되는 continuebreak에 대해서 알아보겠습니다.