유리쯔의일상 2023. 9. 21. 19:14
반응형
개쪼렙 개바린이예여 개바린..✨

👇 공부한 자료들의 실제 소스파일들을 기록해논 공간입니다 👇

 

 

 

 

 

오늘의 학습 For문

중요한것 : 반복할 횟수를 정의하는게 가장 중요하다
문법을 이해 할 때엔 개발자의 의도를 제거한다
반복문에 의도를 이해하려 한다면 망한다
횟수를 정하지 않으면 무한 반복이 된다.
반복문읜 시작과 끝을 정해준다. 
끝을 지정하지 않는다면 무한루프를 돌게된다
**반복횟수 / 시작과 끝** 설정이 가장 중요하다 

 

For문 기본 문법

for( [초기값] ; [ 반복조건 = 반복 종료문 ]; [증가식] ) {

			[ 반복 실행문 ]
            
}


간단 예제

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

반복 횟수 0/1/2/3/4 = 총 5번
출력 문 : 01234


해당 표를 사용하면서 for문의 반복으로 인한 변화를 익혀야 한다.

 

주의 사항 : 코드를 한줄 한줄 라인으로 각기 해석 한 다음, 전체적으로 의도를 해석 한다

 

 

 

 

 

 

예제와 실습

package Study_0921;

public class Study01 {
    public static void main(String[] args) {

        for (int i = 0; i < 5; i++) {
            // 30부터 34까지
            System.out.println(30 + i);

        }
        System.out.println("------------------------");

        for (int i = 0; i < 10; i++) {
            System.out.println(i);
            i = i+1;
        }
        System.out.println("------------------------");


    }

}
package Study_0921;

public class Study02 {
    public static void main(String[] args) {
        int cnt = 0;
        for (int i = 0; i < 5; i++) {
            System.out.print(cnt+", ");
            cnt++;
        }
        System.out.println("\n----------------------------");

        for (int i = 0; i < 5; i++) {
            System.out.print(i + ", ");
        }
    }
}
package Study_0921;

public class TEST01 {
    public static void main(String[] args) {
        /*1부터 10까지 숫자를 합한 값을 출력하시오*/

        int sum = 0;
        for (int i = 1; i <=10 ; i++) {
            sum += i;
            System.out.print(sum + " ");
        }
        System.out.println("\n-----------------------------");
        System.out.println("결과 : " + sum);
    }
}
package Study_0921;

public class TEST02 {
    public static void main(String[] args) {
        // 1부터 10까지 숫자 중 짝수만 합 하시오

        int sum = 0;
        for (int i = 2; i <=10; i+=2){
            sum+=i;
//            System.out.print("i의 값 : " + i + "\nsum의 합산 값 : " + sum + "\n");
//            System.out.println("----------------");
        }
        System.out.println("결과 : " + sum);

        sum = 0;

        for (int i = 0; i <= 10; i++) {
            sum = i%2==0 ? sum+=i : sum;
//            System.out.println("i의 값 : "+ i);
//            System.out.println("sum의 값 : "+ sum);
//            System.out.println("---------------------------");
        }

        System.out.println("결과 : " + sum);
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

실습 과제

1. 1부터 100까지 숫자 중 홀수는 더하고 짝수는 뺀 결과값 1개를 출력하시오.

2. 1부터 100까지 숫자 중 홀수는 홀수끼리 더한 값을 짝수는 짝수끼리 더한 값을 각각출력하시오.

3. 1부터 100까지 숫자 중 홀수는 모두 몇개인가?

4. 100부터 999까지의 숫자의 모든 숫자의 합을 구하시오.
    453인 경우 4+5+3로 합한 값의 모든 총합을 구하시오.

5. 범인은 100부터 999까지 숫자에 숨어 있다.
   범인은 십의 자리에 있고. 3의 배수이다. 범인 숫자를 모두 출력하시오.

6. 범인을 찾아라. 0부터 100까지 숫자중 하나이다. 0부터 1 2 3 순서대로 합한 값을
누적한다. 합한 값이 44를 넘어가게 하는 숫자 한개가 범인이다.
범인 숫자를 출력하시오.. (단, 수업시간에 다루지 않은 기술을 사용금지)

7. System.out.println("abc");  // i변수 값을 출력후 줄바꿈을 하는 코드이다.
   System.out.println("def"); 
   // 위코드를 실행하면
   abc
   def

   System.out.print("abc");    // ln이 빠지면 i변수 값을 출력 후 줄바꿈을 하지 않는 코드이다. 
   System.out.print("def"); 
   // 위코드를 실행하면
    abcdef

   문제>> 다음과 같이 출력하게 하시오.
   1+2+3+4+5+6+7+9+9+10=결과값 

8. 피보나치 수열구하기.
  i는 피보나치 수의 갯수이다.  1 2 3 4 5 6 7 8  총 8개의 피보나치 수를 구하고 합한 값을
  출력하시오. 
   for(int i=1;i < 8; i++){
   
   }
  결과 : 1 + 1 + 2 +3 + 5 + 8 + 13 + 21 = 합한 값

 

 

 

 

 

 

 

 

문제 풀기

 

package TASK;

public class Task01 {
    public static void main(String[] args) {
        // 1부터 100까지 숫자 중 홀수는 더하고 짝수는 뺀 결과값을 출력하시오

        int sum = 0;
        for (int i = 1; i <= 100 ; i++) {
            if (i%2==0){
                sum-=i;
            } else {
                sum+=i;
            }
        }
        System.out.println("결과 값 : " + sum);
    }
}
package TASK;

public class Test02 {
    public static void main(String[] args) {
        // 1부터 100까지 숫자 중 홀수는 홀수끼리 더한 값을 짝수는 짝수끼리 더한 값을 각각출력하시오.
        int evenNum = 0;
        int oddNum = 0;
        for (int i = 0; i <=100; i++) {
            if (i%2==0){
                evenNum += i;
            }
            else if (i%2==1){
                oddNum += i;
            }
        }
        System.out.println("짝수 값 : " + evenNum + "\n홀수 값 : " + oddNum);
    }
}
package TASK;

public class Test03 {
    public static void main(String[] args) {
        // 1부터 100까지 숫자 중 홀수는 모두 몇개인가?
        int cnt = 0;

        for (int i = 1; i <=100 ; i++) {
            if (i%2==1){
                cnt++;
            }
        }
        System.out.println("홀수의 갯 수 : " + cnt);
    }
}
package TASK;

public class Task04 {
    public static void main(String[] args) {
        //  100부터 999까지의 숫자의 모든 숫자의 합을 구하시오.
        //  453인 경우 4+5+3로 합한 값의 모든 총합을 구하시오.

        int subTot= 0;

        for (int i = 100; i < 1000; i++) {
            int subNum = i / 10;
            int subNum3 = i % 10;
            int subNum2 = subNum % 10;
            int subNum1 = subNum / 10;
            subTot += subNum1 + subNum2 + subNum3;
        }
        System.out.println(subTot);


    }
}
package TASK;

public class Task05 {
    public static void main(String[] args) {
        // 범인은 100부터 999까지 숫자에 숨어 있다.
        // 범인은 십의 자리에 있고. 3의 배수이다. 범인 숫자를 모두 출력하시오.
        int viv = 0;
        int viv1 = 0;
        for (int i = 100; i < 1000 ; i++) {
            viv = i%100;
            viv1 = viv/10;
            if(viv1%3==0) {
                if (viv1 != 0){
                    System.out.println(i);
                }
            }
        }
    }
}
package TASK;

public class Test06 {
    public static void main(String[] args) {
        /*
            범인을 찾아라. 0부터 100까지 숫자중 하나이다. 0부터 1 2 3 순서대로 합한 값을
            누적한다. 합한 값이 44를 넘어가게 하는 숫자 한개가 범인이다.
            범인 숫자를 출력하시오.. (단, 수업시간에 다루지 않은 기술을 사용금지)
        */

        int sum = 0;
        int cnt = 0;
        for (int i = 0; i < 100; i++) {
            sum += i;
            if (sum < 44) {
                cnt++;
            }
        }
        System.out.println(cnt);
    }
}
package TASK;

public class Test07 {
    public static void main(String[] args) {
        /*
        System.out.println("abc");  // i변수 값을 출력후 줄바꿈을 하는 코드이다.
        System.out.println("def");  // 위코드를 실행하면
        abc
        def

       System.out.print("abc");    // ln이 빠지면 i변수 값을 출력 후 줄바꿈을 하지 않는 코드이다.
       System.out.print("def");
       // 위코드를 실행하면
       abcdef

         문제>> 다음과 같이 출력하게 하시오.
        1+2+3+4+5+6+7+9+9+10=결과값
        */
        int tot = 0;
        for (int i = 1; i <= 10; i++) {
            if (i == 10){
                tot+=i;
                System.out.print(i+ "="+tot);
            } else {
                tot+=i;
                System.out.print(i + "+");
            }
        }
    }
}
package TASK;

public class Test08 {
    public static void main(String[] args) {
        /*
        피보나치 수열구하기.
        i는 피보나치 수의 갯수이다.  1 2 3 4 5 6 7 8  총 8개의 피보나치 수를 구하고 합한 값을 출력하시오.
        for(int i=1;i < 8; i++){

        }
        결과 : 1 + 1 + 2 +3 + 5 + 8 + 13 + 21 = 합한 값
        */

        int numF1 = 1 , numF2 = 1, numSum = 0;

        for (int i = 0; i < 8; i++) {
            int numTot = numF1 + numF2;
            if (numF1 >= 21)  {
                System.out.print(numF1);
            } else {
                System.out.print(numF1 + " + ");
            }
            numSum += numF1;
            numF1 = numF2;
            numF2 = numTot;
        }
        System.out.println(" = "+numSum);
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형