본문 바로가기

JAVA

for (반복문)

for문 기본 구조

 

for (초기치; 조건문; 증가치; {
    수행문...}
}

 

for문 예시

 

public class zzzz {
    public static void main(String[] args) {
        for (int i = 0; i < 6; i++) {   //초기치 값은 0 이고 i 가 6보다 작을 떄까지 작동하고 i는 계속 증가해라
            System.out.println(i);     
        }
    }
}
//0
//1
//2
//3
//4
//5

 

for문 예제

 

5명 중 택시비가 있는 사람은 택시타고 없으면 걸어가라 *택시 비용은 최소 2,500원

public class zzzz {
    public static void main(String[] args) {
        int[] money = {1000, 1500, 2000, 2500, 3000};   //money를 가지고 있는 5명
        for (int i = 0; i < money.length; i++) {       //초기치 i = 0, i가 money의 배열 수 보다 작을 떄 까지 동작, i는 증가
            if (money[i] < 2500) {                     //money[i], money 배열 안에 있는 값이 2500 보다 작으면
                System.out.println((i+1)+"번은 걸어가"); //i+1 i가 0으로 시작되니 1을 더해 1번 부터 출력되게 한다.
            } else {
                System.out.println((i+1)+"번은 택시타"); //2500 보다 크면 택시타
            }
        }
    }
}
//1번은 걸어가
//2번은 걸어가
//3번은 걸어가
//4번은 택시타
//5번은 택시타

continue; - 다시 for문으로 돌아가

 

public class zzzz {
    public static void main(String[] args) {
        int[] money = {1000, 1500, 2000, 2500, 3000};
        for (int i = 0; i < money.length; i++) {
            if (money[i] < 2500) {
                continue;             //money[i] 값이 2500보다 참이면 다시 for문으로 돌아가고 거짓이면 다음 문장 실행 
            }
            System.out.println((i+1)+"번은 택시 타고 가세요");
        }
    }
}
//4번은 택시 타고 가세요
//5번은 택시 타고 가세요

이중 for 문

 

구구단을 예시로 보자

 

public class zzzz {
    public static void main(String[] args) {
        for (int i = 2; i < 10; i++) {          //i 값을 2로 준다 2댠, 3단 구구단 0x0 중 앞 쪽에 해당
            for (int n = 1; n < 10; n++) {      //for 문 하나를 더 열어 뒤 쪽 값을 넣어 준다 0x0 중 뒤족에 해당
                System.out.print(i * n + " ");  //print를 사용하면 줄 바꿈 없이 출력하게 됨, " " 공백을 넣어 보기 좋게 가공
            }                                   //닫아주고
            System.out.println("");             //println 'ln' 줄바꿈이 포함된 출력문을 넣어 보기 좋게 단을 나눠줌
        }
    }
}
//2 4  6  8  10 12 14 16 18
//3 6  9  12 15 18 21 24 27
//4 8 12  16 20 24 28 32 36
//.......

1번 for문 = i 

2번 for문 = n

으로 보고

 

i가 n을 만나면 i는  n이 다 수행될 때 까지 i 는 고정이 된다

2(i) x 1(n), 2(i) x 2(n), 2(i) x 3(n) .....

 

n이 조건문 까지 다 수행되면 i 가 행동한다 

3(i) x 1(n), 3(i) x 2(n), 3(i) x 3(n) .....

 

정리하면 i는 n값이 다 나올 때까지 고정되고 다 되면 다시 i로 돌아가 반복 수행

 

출처: https://yoonhihi.tistory.com/m/35

 

출처: https://yoonhihi.tistory.com/m/35


for each문

 

public class zzzz {
    public static void main(String[] args) {
        String[] numbers = {"one", "two", "three"};
        for (int i = 0; i < numbers.length; i++) {
            System.out.println(numbers[i]);
        }
    }
}

 

위 예제를 for each문을 통해 다음 처럼 변경 가능

public class zzzz {
    public static void main(String[] args) {
        String[] numbers = {"one", "two", "three"};
        for(String number: numbers) {
            System.out.println(number);
        }
    }
}

 

for each  기본구조

for (type data: iterate) {
    명령문
}

iterate는 객체이고

for each는 객체에 크기만큼 반복 횟수를 정합니다.

 

ArrayList로 구현한 예제

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

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

여기서 반복되는 iterate는 객체입니다. 

 

for each는 객체에 크기만큼 반복 횟수를 정합니다.

반응형

'JAVA' 카테고리의 다른 글

클래스, 메소드, for문, 스캐너를 이용한 구구단 출력  (0) 2022.11.04
Scanner - 입력  (0) 2022.10.28
while (반복문)  (0) 2022.10.13
switch/case  (0) 2022.10.13
if (참, 거짓)  (0) 2022.10.13