[07] 반복문 (for)
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);
}
}