댄스댄스 2012. 4. 19. 13:47

1. for문

① 초기식은 단 한번만 실행

② 조건식이 true 이면 수행문 실행

③ 증감식 -> 조건식이 true 이면 수행문 실행

④ 증감식 -> 조건식이 true 이면 수행문 실행하면 반복

⑤ 조건식이 false이면 for반복면 빠져나옴

 

for( 초기식; 조건식; 증감식 ) {

// 수행문;

}

 

2. 이중 for문

for( 초기식; 조건식; 증감식 ) {

   for( 초기식; 조건식; 증감식 ) {

        // 수행문;

   }

}

 

 

파일명:TestFor.java

public class TestFor{
  public static void main(String[] args){
/*
for(초기값; 종료값 or 조건식; 증감)
{
 처리내용;
}
*/
     int n;
  for(n=1; n<=5; n++){
        System.out.println("봄");
  }
/*
초기값->조건식
n=1    1<=5    봄
증감 n=2
조건식 2<=5    봄
증감 n=3
조건식 3<=5    봄
증감 n=4
조건식 4<=5    봄
증감 n=5
조건식 5<=5    봄
증감 n=6
조건식 6<=5
*/
     for(n=5; n>=0; n-=2){
   System.out.println("여름");
  }
/*
n=5    5>=0    여름
n=3    3>=0    여름
n=1    1>=0    여름
n=-1   -1>=0
*/
       int dan=4;
       System.out.println(dan +"단");
    for(n=1; n<=9; n++){
     System.out.println(dan+"*"+n+"="+(dan*n));
    }
/*
4단
4 * 1 = 4 
4 * 2 = 8 
4 * 3 = 12 
4 * 4 = 16
4 * 5 = 20 
4 * 6 = 24 
4 * 7 = 28 
4 * 8 = 32
4 * 9 = 36
*/

//2~7까지 짝수 갯수 카운트
    int p;
 int res=0;
    for(p=2; p<=7; p++){
       if(p%2==0) res=res+1;
    }

 System.out.println("짝수의 갯수="+res+"개");
/*
if(2%2==0)  res=0+1
if(3%2==0)
if(4%2==0)  res=1+1
if(5%2==0)
if(6%2==0)  res=2+1
if(7%2==0)
*/

    //2~7까지 누적의 합 2+3+4+5+6+7
    int hap=0;
 for(p=2; p<=7; p++){
        hap=hap+p;
 }

 System.out.println("2+...+7="+hap);
/*
p=2   2<=7   hap=0+2
p=3   3<=7   hap=2+3
p=4   4<=7   hap=5+4
*/

     //2+3+4+5=14
  //5+4+3+2=14
  int i=5, j=2;
  int sum=0;
  int k;

     //swap 기능
  if(i>j){  //if(5>2)
        int temp;
  temp=i;
  i=j;
  j=temp;
  }

  for(k=i; k<=j; k++){
   sum=sum+k;
  }

  System.out.println(i + "+...+" + j + "=" + sum);
    
    //문제) 5*4*3*2*1=120 곱하기 누적
     int fact=5;
  int f,gop=1;
  for(f=fact; f>=1; f--){
   gop=gop*f;
  }
//f=5  5>=1  gop=1*5
  System.out.println(fact+" 팩토리얼="+gop);
  }
}