[Java] for each 문

2022. 8. 1. 03:05·Language/Java
728x90

for each는 J2SE 5.0 부터 추가되었다. for each 라는 키워드가 따로 있는 것은 아니고 동일한 for를 이용한다. 하지만 조건식 부분의 문법이 조금 다르다.

다음은 평범한 for문이다.

String[] numbers = {"one", "two", "three"};
for(int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}

위 for문은 다음처럼 for each 구조로 변경할 수 있다.

String[] numbers = {"one", "two", "three"};
for(String number: numbers) {
    System.out.println(number);
}
for each 문은 보기에 매우 직관적이다.

for each 문의 구조는 다음과 같다.

for (type var: iterate) {
    body-of-loop
}

위에서 iterate는 루프를 돌릴 객체이고 iterate 객체에서 한개씩 순차적으로 var에 대입되어 for문이 수행된다. iterate로 사용할 수 있는 자료형은 루프를 돌릴수 있는 자료형(배열 및 ArrayList 등)만 가능하다.

다음은 위 예제를 ArrayList로 구현한 예제이다. for문의 사용법은 String[] 배열을 사용했을 때와 완전히 동일하다.

import java.util.ArrayList;
import java.util.Arrays;

public class Sample {
    public static void main(String[] args) {
        ArrayList<String> numbers = new ArrayList<>(Arrays.asList("one", "two", "three"));
        for (String number : numbers) {
            System.out.println(number);
        }
    }
}

단, for each 문은 따로 반복회수를 명시적으로 주는 것이 불가능하고, 1스탭씩 순차적으로 반복될때만 사용가능하다는 제약이 있다.

'Language > Java' 카테고리의 다른 글

[Java] 클래스  (0) 2022.08.01
[Java] 객체지향 프로그래밍이란?  (0) 2022.08.01
[Java] for 문  (0) 2022.08.01
[Java] while 문  (0) 2022.08.01
[Java] switch/case 문  (0) 2022.08.01
'Language/Java' 카테고리의 다른 글
  • [Java] 클래스
  • [Java] 객체지향 프로그래밍이란?
  • [Java] for 문
  • [Java] while 문
arajo
arajo
  • arajo
    아라 메모장
    arajo
  • 전체
    오늘
    어제
    • 분류 전체보기 (509)
      • Language (298)
        • HTML (55)
        • CSS (11)
        • JavaScript (70)
        • TypeScript (8)
        • Python (33)
        • Java (119)
        • C (0)
        • C# (2)
      • Programming (92)
        • Programming (14)
        • Web (51)
        • Apache (1)
        • MySQL (23)
        • AWS (3)
      • Framework | Library (26)
        • Framework | Library (3)
        • Vue.js (2)
        • React.js (5)
        • React Native (4)
        • Node.js (1)
        • Ajax (1)
        • Bootstrap (8)
        • Spring (1)
        • Flutter (1)
      • etc (2)
      • 휴식 (19)
        • 책 (13)
        • 일기 (5)
        • 게임 일기 (1)
      • A (71)
        • 공부 (18)
        • 기타 (6)
        • 일 (47)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    object
    next.js
    제어문
    리액트
    array
    Python
    객체
    JavaScript
    타입스크립트
    Java
    자바스크립트
    event
    react
    TypeScript
    파이썬
    MySQL
    HTML
    변수
    web
    CSS
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
arajo
[Java] for each 문
상단으로

티스토리툴바