[자바(JAVA)] For문과 For-Each문

자바의 for문은 다음과 같이 구성된다.

for( 변수 초기화 ; 반복조건 ; 증감식){
       수행할 코드 ; 
}

배열의 할당, 출력등에도 많이 사용된다.

int[] arr = {1,2,3,4,5};
for(int i = 0; i<arr.length ; i++){
    System.out.println(arr[i]);
}

위처럼 for문을 이용해서 배열을 전부 출력할 수 있지만, 위보다 더 편한 방법이 하나 더 있다.
For each문을 사용하는것이다.
키워드가 따로 있는 것은 아니고 동일한 for를 사용하는데, 조건식 부분이 다르다.

for( 타입 변수이름 : 반복할 객체 ){
       수행할 코드 ; 
}
int[] arr = {1,2,3,4,5};
for(int i : arr){
    System.out.println(i);
}

또 궁극적으로 for each문에서 지정한 변수 이름은 복사된 값 이기 때문에 for each문 안에서 수정을 하더라도 원본에 반영되지 않는다.
반복 회수를 명시적으로 지정하는것도 불가능하다. (조건문과 break, continue를 이용할 수 있긴 하다.)