[반복문] for

seni·2024년 6월 18일

JAVA

목록 보기
8/34

for문 (1)

  • 특정 조건에 따라 연산을 반복해서 수행하고 싶을때 사용하는 문맥?!
    끊을때까지 계속해서!! 잘못하면 영원히 수행됨..
  • for (초기값; 조건문; 증가연산) {(연산)} 형태
    ex) for (int i = 0; i < 4; i++) {
    System.out.ptintln( i + "번째 출력"); }
    //0번째 출력,1번째 출력,2번째 출력,3번째 출력
  • 1)초기식이 실행된다 int i = 0;
  • 2)조건식을 검증한다 i < 4;
  • 3)조건식이 참이면 코드를 실행한다. System.out.ptintln(i);
  • 4)코드가 종료되면 증감식을 실행한다. i++
  • 5)다시 2.조건식을 검증한다 (무한반복) 이후 i < 4 조건이 거짓이 되면 for문을 빠져나간다.
        int sum = 0;
        int endNum = 3;
         //1+2+3 = 6
        for (int i = 1; i <= endNum; i++) {
            sum = sum + i;
            System.out.println("i =" + i + " sum = " + sum);

        }
//출력 : i =1 sum = 1
		i =2 sum = 3
		i =3 sum = 6

for문 (2)

  • for문에서 초기식,조건식,증감식은 선택이다. 모두 생략해도 된다. 단 생략해도 각 영역을 구분하는 세미콜론(;)은 유지해야 한다.
  • for문은 조건이 없으면 무한반복...
    //이렇게 하면 1이 계속 출력됨,
//이 코드는 무한 루프를 사용하여 숫자들을 더하는 프로그램
       int sum = 0;			//변수 초기화
       int i = 1;

       for (;;) {			//for문 안에 아무 조건이 없기 때문에, 무한 반복됨
           sum = sum + i;	//현재 i값을 sum에 더한다.
           if (sum > 10) { 
               System.out.println("합이 10보다 크면 종료: i=" + i + "sum=" + sum);
               break;
           }
           i++;
//sum이 10보다 크다면, 메시지를 출력하고 break 문을 사용하여 루프 종료.
//i++
//실행 흐름 예시 ->
//i = 1, sum = 0 + 1 = 1 (계속 진행)
//i = 2, sum = 1 + 2 = 3 (계속 진행)
//i = 3, sum = 3 + 3 = 6 (계속 진행)
//i = 4, sum = 6 + 4 = 10 (계속 진행)
//i = 5, sum = 10 + 5 = 15 (종료 조건 충족, 메시지 출력하고 종료)

중첩 for문

        for (int i = 0; i < 2; i++) {
            System.out.println("외부 for 시작 i:" + i);
            for (int j = 0; j < 3; j++) {
                System.out.println("-> 내부 for" + i + "-" + j); //0,1,2
            }
            System.out.println("외부 for 종료 i:" + i);
        }
//로직 ->
//출력보면 이해됨.
//외부 for 시작 i:0
-> 내부 for0-0
-> 내부 for0-1
-> 내부 for0-2
외부 for 종료 i:0

외부 for 시작 i:1
-> 내부 for1-0
-> 내부 for1-1
-> 내부 for1-2
외부 for 종료 i:1

향상된 for문

  • for (변수타입 변수이름 : 배열이름) {
    //반복할 코드
    }
  • 조건이 2가지
  • 일반 for문과는 다르게 반복에 배열을 이용한다.
  • 배열의 길이로 for문의 반복 횟수가 정해진다.
    • 배열이 이미 있는 경우에 사용
  • 배열 값을 이용할 수 있으나 수정하지 못한다.
  • ex)int [] Number = {3,6,9,12,15}
    for(int Number : Numbers) {
    System.out.println(Number + " ") }
profile
개발일지

0개의 댓글