프로젝트에서 개발을 하던 중 내가 알던 for문과는 다른 형태의 for문을 쓰는 소스를 보았다.

처음 봤을 땐 역할이 약간 다른 for 문인가 싶었는데, 차장님이 보시더니 성능면에서 좀 더 향상된 for문이라고 알려주셨다.


자세히 알아보기 위해 정리해보았다.


# JAVA - For 문


1. 기존 For문 

   

    - for(초기화; 조건; 증감)

    

for(int i=0; i <100 ; i++) {

     .... 반복 수행 할 로직

 }    



2. 배열에 이용되는 For문 


    - for(변수타입 변수 : 배열)

    - Java 1.5 부터 향상된 for문 제공

    - 배열에 들어있는 값들을 하나씩 왼쪽 변수에 할당한다. 

    - 단, 배열의 자료형과 변수의 타입이 같아야 한다. 

    - 기존 for 문 처럼 조건문으로 size를 주지 않아도, 알아서 배열 크기 만큼 for문을 수행한다. 또, 기존처럼 반복 변수를 따로 선언해줄 필요도 없다.

    - 단, 배열의 값을 가져다 쓸 수 만 있고, 수정해 쓸 수는 없다.

    - 아래 예시는 array 배열 데이터를 object에 담아 insert 쿼리를 수행하는 소스다. 


for (Object object : array) {

mapDao.update("groupId.artifactId.context.mapper.tb_insert", (Map) object);

 }



    - 실제로 향상된 for문이 항상 성능이 더 좋은 것은 아니다. 때에 따라 기존 for문의 속도가 더 빠른 경우도 있다. 

      통상 반복 횟수가 많을 수록 향상된 for문의 성능이 더 좋다고 하지만, 그 정도는 정말 미세한 차이라고 하니 사용하기 쉽고, 가독성이 더 좋은 for문으       로 선택하는게 좋을 것같다.

      


__________________________________________________________________________________________________________________________________________________________

** 본 포스팅에 대해 수정해야할 부분이나 추가 의견 등이 있으신 분들은 댓글 달아주세요. 언제나 환영입니다 :) 

** 본 포스팅을 reference 자료로 참고하실 분들은 출처를 꼭 밝혀주시기 바랍니다.


'JAVA' 카테고리의 다른 글

예외처리 관련 참고문서  (0) 2017.06.11
로깅(Logging) 참고문서  (0) 2017.06.11
system32와 systemWOW64  (0) 2017.02.26
SAPJCO 연동 설정  (0) 2017.02.26
JAVA_리팩토링  (1) 2017.01.08

+ Recent posts