for문

중급 Java

Jim White

Java Developer

루프

  • 같은 동작을 여러 번 반복
  • Java에서 가장 흔함: for 루프
    • 반복 횟수를 미리 알 때 사용

세 개의 화살표가 원을 이루는 이미지

중급 Java

for문 문법

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

  // 무언가 수행

}
  • i: 반복자
  • int i = 0: i0으로 시작
  • i < 5: i5보다 작을 동안 계속
  • i++: 각 루프 후 i1 증가
  • iterable: 순회 대상
    • 예: String, array
중급 Java

for문 예시

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i는 반복자
  • "Hello"는 반복 대상
중급 Java

배열 순회 for문

// 배열을 순회하며 각 원소 출력
int[] num = {1, 2, 3, 4, 5};

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

루프에서 배열 값 더하기

// 배열을 순회하며 
// 각 원소에 i를 더함
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Old: " + num[i]);
    num[i] += i;
    System.out.println("New: " + num[i]);
}
Old: 1
New: 1
Old: 2
New: 3
Old: 3
New: 5
Old: 4
New: 7
Old: 5
New: 9
중급 Java

무한 루프

  • 원인:
    • 반복자 미갱신
    • 잘못된 종료 조건
    • ...
  • 무한 루프 피하기!
    • 프로그램이 멈추거나 충돌함

예시

// i는 항상 3보다 큼
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// i를 갱신하지 않음
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
중급 Java

break

  • 루프를 일찍 종료할 때 사용
  • 권장되진 않음, 신중히 사용
    • 보통 while 루프가 더 적합
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // i가 1이면 루프 종료
  }
}
0
1
중급 Java

요약

// for 루프 예시
// break 키워드 포함
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i: 반복자
  • word: 반복 대상(iterable)
  • for 루프는 반복 횟수가 정해짐
    • 0부터 word 끝까지 실행
    • 단, break를 쓰면 중단
H
-
e
-
y
!
중급 Java

Let's practice!

중급 Java

Preparing Video For Download...