Published 2022. 10. 20. 14:51
 
      - 반복문
     *  특정 코드를 반복적으로 수행시켜줌
     *  크게 두 종류로 나뉨 (for문 / while문(do-while문) )
       
     1. for문
     [표현법]
for(초기식; 조건식; 증감식) { //반복 횟수를 지정하기 위해 제시하는 것들
     반복적으로 실행시키고자하는 코드
     }
     
     - 초기식 : 반복문이 수행될 때 "처음에 단 한번만" 실행되는 구문
                   (보통 반복문 안에서 사용될 변수를 선언과 동시에 초기화하는 구문)
     
     - 조건식 : "반복문이 수행될 조건"을 작성하는 구문
                     조건식이 true일 경우 해당 구문을 실행
                     조건식이 false일 경우 반복을 멈추고 빠져나감
                     (보통 초기식에 제시된 변수를 가지고 조건식을 작성)
     
      - 증감식 : 반복문을 제어하는 변수 값을 증가 또는 감소 시키는 구문
                 (보통 초기식에 제시된 변수를 가지고 증감연산자(++,--)와 함께 사용)      
     
     **for문 만나는 순간
      초기식 --> 조건식 검사 --> true일 경우 실행구문 실행 --> 증감식
                  --> 조건식 검사 --> true일 경우 실행구문 실행 --> 증감식  
                   ...(반복)    
                       조건식 검사 --> false인 경우 실행X --> 반복문을 빠져나옴              
 
   
1) 안녕하세요"를 5번 반복해서 출력하기
 
   public void method1() {
       
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
        System.out.println("안녕하세요");
       >> 반복문을 사용하지 않는 경우 출력문 5번 작성해야함 
 
 
 for문이용해서출력하기
        for(int i=1; i<=5; i++) { //i값이 1에서부터 5가될때까지 매번 1씩 증가되는동안 반복 수행 (1,2,3,4,5)
            System.out.println("안녕하세요.");
        }
        for(int i=11; i<16; i++) { //11에서부터 15까지 매번 1씩 증가되는동안 반복 수행 (11,12,13,14,15)
            System.out.println("반갑습니다.");
        }
        for(int i=0; i<5; i++) { //0에서부터 4까지 매번 1씩 증가되는 동안 반복 수행 ( 0,1,2,3,4)
            System.out.println("저리가세요.");
        }
        /* Tip. 내가 원하는 횟수만큼 반복문 돌리고자할 때
         *  for( int i=0; i < 횟수; i++ ) {    }
         */
        for(int i=1; i<=9; i+=2) {//i는 1에서부터 9까지 매번 2씩 증가되는동안 반복수행(1,3,5,7,9)
            System.out.println("Hello");
        }
       
    }
   
 
2) 1부터 5까지 출력
public void method2() {
        //1 2 3 4 5
        for(int i = 1; i<=5; i++) { //i값이 1에서부터 5가 될때까지 매번 1씩 증가되는동안 반복 수행 (1,2,3,4,5)
            System.out.print(i + " ");
        }
       
   
       //5 4 3 2 1 으로 출력하기
 for(int i=5;i>=1;i--) { //5에서부터 1까지 매번 1씩 감소하는 동안 반복수행(5,4,3,2,1)
            System.out.print(i + " ");
        }
 
 
3)  1부터 10사이의 홀수만을 출력 1 3 5 7 9
   
  public void method4() {
        //방법1 . 딱 5회만 반복문 돌려서 출력
        for(int i=1; i<10; i+=2) { //1에서부터 10일때까지 매번 2씩 증가하는 동안 반복 수행(1 3 5 7 9)
            System.out.print(i+" ");
        }
        
        //방법2. 10회 반복문 돌리되 출력은 홀수만
        //1에서 부터 10까지 매번 1씩 증가되는동안 반복수행(1 2 3 4 5 6 7 8 9 10)
        for(int i=1; i<=10; i++) {
            if( i%2 == 1) { // i값이 홀수일 경우
            System.out.print(i+" ");
             }
         }
     }
   
 
4) 1부터 10까지의 총 합계 구하기 
  public void method5() {
     
        int sum = 0;
        for(int i=10; i<101; i++) {
            sum += i ;
        }
       
        System.out.println("10에서부터 100까지의 총 합계 : "+sum);
    }
 
 5) 1에서부터 사용자가 입력한 수까지의 총 합계
   
 public void method6() {
       
        Scanner sc = new Scanner(System.in);
       
        System.out.print("양수 : ");
        int num = sc.nextInt();
       
        if(num>0) { // 양수일 경우 => 잘입력 -> 총합계 구해서 출력
            int sum = 0;
            for(int i=1; i<=num; i++) {
                sum += i;
            }
            System.out.println("1에서부터 "+ num + "까지의 총 합계 : "+ sum);
           
        }else { //양수가 아닐 경우 => 잘못입력  -> "잘못입력"출력
            System.out.println("잘못 입력했습니다.");
        }

    }
   
 
6) 1에서부터 랜덤값(1~10사이) 까지의 총합계 
 
         * java.lang.Math 클래스에서 제공하는 random()메소드 호출해서
         프로그램을 실행할 때마다 매번 다른 랜덤값을 얻어낼 수 있음.
        
         * Math.random(); 호출시 => 0.0 ~ 0.9999999999사이의 랜덤값 발생
                                (0.0 <=    <1.0)
  
   
         * Tip. 랜덤값 발생범위 지정
           (int)(Math.random() * 발생시킬 랜덤값 갯수 + 시작수);
         
           ex) 11 ~ 20 랜덤값
         (int)(Math.random() * 10 + 11);
         
   
        int random = (int)(Math.random() * 10 + 1);
                    //   1 <=  < 11  => 1~10
       
        System.out.println("1~10사이의 랜덤값 : " + random);
       
        int sum = 0;      
        for(int i=1; i<=random; i++) {
            sum += i;
        }
        System.out.println("1에서부터 " + random +"까지의 총 합: " + sum);
    }
   
 
7) 특정 문자열의 각 인데스별 문자 뽑아서 출력
 
 public void method8() {
       
        String str = "Hello";
        //            01234
      
        for(int i=0;i<5;i++) { // i는 0에서 부터 4까지 매범 1씩 증가되는동안 반복수행(0,1,2,3,4)
            System.out.println(str.charAt(i));
        }
    }
   
 
8) 사용자에게 입력받은 문자열의 각 인덱스별 문자를 뽑아 출력
 
public void method9() {
        
        Scanner sc = new Scanner(System.in);
       
        System.out.print("문자열을 입력하세요 : ");
        String str = sc.nextLine();
      
        System.out.println("문자열의 길이 : "+ str.length());
        System.out.println("문자열의 마지막 인덱스 수 : "+ (str.length() - 1));
       
        //0번 인덱스 ~ 마지막 인덱스 (문자열의길이-1)까지 매번 1씩 증가하는 동안 반복
       
           for(int i=0; i<str.length(); i++) {
            System.out.println(str.charAt(i));
        }
    }​

 

9) 구구단 2단 출력하기 

 public void method10() {
       
        for(int i=1;i<=9;i++) {
            //System.out.println("2 x "+ i + " = " + 2*i);
            System.out.printf("%d X %d = %d\n",2,i,2*i);
        }
    }
   
 
10) 사용자가 입력한 구구단 출력하기 
  
public void method11() {
        
        Scanner sc = new Scanner(System.in);
        System.out.print("단 수(2~9)를 입력 : ");
        int dan = sc.nextInt();
       
        if(dan >= 2 && dan <=9) {//잘입력했을경우 -> 해당 단 출력
            for(int su=1; su<=9; su++) {
                System.out.printf("%d x %d = %d\n",dan,su,dan*su);
            }
        }else {//잘못입력했을경우 => "잘못입력했음"출력
            System.out.println("2~9사이의 숫자를 입력하세요.");
        }
    }
 
 
11) 2~9사이의 랜덤값 발생시켜 해당 단을 출력하기
  public void method12() {
      
        int random = (int)(Math.random()* 8 +2);// 2에서 부터 8개(9)까지의 수를 랜덤
       
        for(int i = 1; i<=9; i++) {
            System.out.printf("%d x %d = %d\n",random,i,random*i );
        }
    }
 
 
 
복사했습니다!