본문 바로가기
카테고리 없음

JAVA 반복문 | for문 | while문 | do while 문

by 윈투 2022. 4. 8.

컴퓨터가 가장 잘 하는 것이다. 프로그램의 많은 부분이 반복에 관한 것이다.

 

반복문은은 무엇인가를 반복해서 명령을 내려 주겠다는 의미이다.


반복문과 조건문으로 기능을 구현하는 게 대부분이다. 결국은 명령을 내려주는 것은 조건문과 반복문으로 대부분 구성된다.


여기서 중요한 내용은 이 조건문과 반복문으로 어떻게 효과적으로 명령을 낼 수 있는지에 관한 것이다.

 

 

 

 

For문

 

For문은 반복문의 가장 기본이 되는 문법이라고 할 수 있다. 일반적으로는 중첩해서 사용하지만 많이 사용하면 3개까지 중첩을 해서 사용하기도 한다.

 

중첩해서 사용하면 코드의 가독성이 극악으로 나빠지고 코드의 효율도 나빠지는 경우가 많아지기 때문에 가급적 중첩 사용은 피해야 한다.

 

예시

 

구구단을 출력하는 예시이다.

package com.model;

public class GuGu7Dan {
         //7단 구구단(for)
        
         public static void main(String[] args){
        
                 for( int j=0; j<2; j++){
                        
                         for( int i=0; i<2; i++){
                                System. out. println("i="+i);
                        }
                        System. out.println( "j="+ j);
                                                
                }
                                        
                 /*for(int num = 2;num <10;num++){
                        for( int i=1;i<10; i++){
                                System.out.println( num+"* "+i+"=" +(num*i)); 
                                        
                        }
                }*/
                
                
        }

}

 

while문

 

예시

package com.model;

public class WhileBasic {
        
         public static void main(String[] args){
                 int num= 0;
                
                 // if와 마찬가지로 boolean에 들어갈 수 있는 값이 괄호에 온다. 
                 // 조건을 비교했을 때 반복문이라는 반복하고 싶은 만큼의 범위를 알려주어야 하고 그것이 ()에 들어간다. 
                 // 그것이 참이 될 때 계속 실행하고 그것이 거짓이 되는 순간 반복을 하지 않는다. 
                 // 그래서 반드시 거짓이 될 수 있는 코드로 작성을 해야한다. 
                 while( num<5){ 
                        System. out.println( "명령문 실행" +num );
                         num++; //거짓이 될 수 있는 상황을 증감연산자로 설정한다.
                        
                }
                
        }

}

 

실행 결과

명령문실행 0
명령문실행 1
명령문실행 2
명령문실행 3
명령문실행 4

 

 

 

빠져나가는 곳 없이 무한으로 반복되는 것을 피해야 한다.

package com.model;

public class ForBasic {
         public static void main(String[] args){
                
                 while(0<5){}
        }

}

이런식으로 출구가 없으면 무한반복되고 이런 무한반복이 많아지면 컴퓨터 용량 등에 무리가 갈 수 있다. 한 마디로 컴퓨터가 매우 느려질 수 있다는 것이다.

 

 

 

1~100사이의 5의 배수이면서 7의 배수인 정수를 전부 출력하고, 그 수를 카운트 하는 예제 코드이다.

package com.model;

public class ContinueBasic {
              

         public static void main(String[] args) {
                 int num=0;
                 //컴퓨터 프로그래밍에서는 0부터 시작하는 경우가 많다.
                 int count=0;  
                
                 while((++ num)<=100){
                         //5의 배수가 아니냐? 아니면 ture   7의 배수가 아니냐? 아니면 7의 배수
                         if((( num%5)!=0) || (( num%7)!=0)){         
                         //반복문 안에서 continue를 만나면  다시 돌아가서 반복하는 의미가 된다..
                         continue;         
                        }
                        
                         count++;
                        System. out.println( num);
                }
                                
                
                System. out.println( "count="+ count);

        }

}

 

출력 결과

35
70
count=2

 

Do While 문

 

 

예시

 

package com.model;

public class DowhileMutiply {

         public static void main(String[] args) {
                
                
                 int i=0;
                 int n=0;
                
                 do{
                         i++;
                         if(( i%2)==0&&( i%5)==0){
                                System. out.println( i);  
                                 n= n+ i;
                        }
                        
                        } while( i <=100);
                
          System. out.println( n);
        }

}

 

출력 내용

10
20
30
40
50
60
70
80
90
100
550

 

 

댓글