java[반복문] - for 반복문, for each(=향상된 for 반복문), 무한루프, 주의점 & 예제

익스랩 최고 관리자

·

2020. 8. 24. 13:44

반응형

 


목차

 

1. for 반복문 이란?

2. 일반적인 for 반복문

3. 이중 for 반복문

4. 무한루프 만들기

5. [응용] ArrayList, Array 와 for 반복문(= for each 반복문)

6. 향상된 for 반복문 (= for each 반복문)의 주의점

 


1. for문이란?

프로그램 작성시, 반복 처리해야 하는 구간에서 사용

 

예제

int[] arrInt = new int[100]

위의 arrInt라는 배열에 1부터 100까지 숫자를 넣고 싶다.

 

일일히 손으로 입력하기 번거로울 겁니다.

이때, for 반복문을 사용합니다.

 

쉽게 말해, 

일련의 규칙을 가지고, 쉽게 반복할 수 있도록 도와줍니다.

 

 

 

2. 일반적인 for 반복문?

일반적인 구조

for(초기값; 종료여부; 증감값)

 

예제

int[] arrInt = new int[100];

for(int i=0;i<100;i++) {
  arrInt[i] = i;
}

1. arrInt라는 100개의 int 값을 가진 배열을 생성합니다.

 

2. arrInt라는 배열을 for 반복문을 통해 값을 입력합니다.

 -> 초기값에 i를 0으로 초기화

 -> 종료여부에 i가 100보다 작을때까지 실행

 -> 증감값에 i를 1씩 증가

 

2번과 같은 프로세스로 0 ~ 99까지 반복하게 됩니다

 

* 배열은 [] (bracket, 브라켓) 을 써서 접근할 수 있으며, 배열의 인덱스는 0부터 시작합니다.

* arrInt[i] <- i 번째의 배열이라고 해석할 수 있습니다.

 

 

3. 이중 for 반복문

이중 for 반복문은 for 반복문을 두 개 이상 사용하는 것을 의미합니다.

가장 흔한 예제 중에 구구단이 있습니다..

 

예제

for(int i=2;i<=9;i++) {
  for(int j=1;j<=9;j++) {
    System.out.println(i + " * " + j + " = " + i * j);
    System.out.println();
  }
}

1. i가 2가 들어왔을 때, j를 1~9까지 반복합니다. (구구단 2단)

2. i가 3가 들어왔을 때, j를 1~9까지 반복합니다. (구구단 3단)

3. i가 4가 들어왔을 때, j를 1~9까지 반복합니다. (구구단 4단)

4. i가 5가 들어왔을 때, j를 1~9까지 반복합니다. (구구단 5단)

..

 

위의 순서대로 9단까지 반복하는 구구단 예제를 출력할 수 있습니다.

 

 

4. 무한 루프 만들기

반복문이라면 빼놓을 수 없는 무한 루프 만들기

 

예제

for(;;) {
}

 

 

 

 

5. [응용] ArrayList, Array 와 향상된 for 반복문

 

for 반복문은 실무에서 ArraryList, Array 등과 같은 콜렉션이 있을 때 가장 많이 사용됩니다.

 

예제 (기본)

ArrayList<String> list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");

String[] arr = new String[3];
arr[0] = "A";
arr[1] = "B";
arr[2] = "C";

int size = list.size();
for(int i=0;i<size;i++) {
  System.out.println(list.get(i));
}

System.out.println();

int length = arr.length;
for(int i=0;i<length;i++) {
  System.out.println(arr[i]);
}

 

 

 

위의 일반적인 구조의 for 반복문향상된 for 반복문( = for each 반복문)으로 변형하여,

조금 더 간결하고 가독성 있는 코드로 변형시켜 보겠습니다.

 

먼저 향상된 for 반복문 구조입니다.

for(변수타입 변수이름 : 배열이름)

 

예제 (향상된 for 반복문( = for each 반복문))

ArrayList<String> list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");

String[] arr = new String[3];
arr[0] = "A";
arr[1] = "B";
arr[2] = "C";

for(String str : list)
  System.out.println(str);

System.out.println();

for(String str : arr)
  System.out.println(arr[i]);

size나 length를 선언하지 않고, 간단하게 for 반복문을 구현할 수 있습니다.

 

이를 향상된 for문이라고 합니다.

for(String str : list)

--> list의 값을 차례대로 가져와 str에 넣어라

 

 

* for 반복문 안에 실행되는 코드가 한 블럭이라면 {}의 생략이 가능합니다.

 

 

6. 향상된 for 반복문 ( = for each 반복문 )의 주의점

 

오직 배열의 값을 가져다 사용할 수 있지만 (read), 수정할 수 없습니다.(write)

 

* for 반복문과 for each 반복문의 구현 방식에 대한 성능 차이는 없습니다.

반응형

💖 포스터에게 힘 보내기 💖

카카오뱅크
3333-25-9477515
치킨 좋아하는 포스터