본문 바로가기

[TIL] for문

인포꿀팁 발행일 : 2020-07-27

오늘 배운 내용은 for문

 

정해진 횟수만큼 반복해야 하는 경우 유용하게 사용되어지는 반복문이다.

 

1번 초기식은 초기화를 위해 단 한번만 실행된다.

2번 조건식에는 반드시 true / false 값만 올 수 있으며 true인경우 루프를 반복 수행한다.

3번 실행문

4번 루프 변수의 재 초기화를 위해 사용됨 , 콤마를 이용하여 여러 문장 동시 수행도 가능하다.

 

 

for문 중요 특성

1) for문 내에서 선언된 변수는 for문 밖에서 사용이 불가하다.

이는 for문 내에서 사용가능한 지역 변수라고도 한다.

*한지역내에 변수 선언은 한번만 가능하다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package ex0727;
 
public class for_Ex2 {
    public static void main(String[] args) {
        int s=0;
        
        for(int n =1 ; n <=10; n++) { // for문 안에서 변수 선언도 가능하다.
            s+=n;
        }
        System.out.println(s);
        //System.out.println(n);
        // 컴파일 오류 for문에서 선언된 변수는 for문 밖에서 사용 불가하다. = 지역변수라고 함
        
        //int s= 0; // 컴오류 : 한 지역에서의 변수 선언은 한번만 가능하다.
        //int n = 0;// n은 for문 지역변수이므로 선언이 가능하다.
    }
    
}
 
cs

2) for문 뒤에 세미콜론 사용시 다른 연산이 실행된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package ex0727;
 
public class for_Ex3 {
    //1 부터 10까지의 합
    public static void main(String[] args) {
        
        /*
         * int n, s; s = 0; 
         * for(n=1;n<=10; n++) { 
         * s+=n; 
         * }
         * System.out.println(n+","+s);//11,55
         */    
        
        int n, s;
        for(n=1, s=0;n<=10; s+=n, n++); // 세미 콜론 사용은 되도록이면 자제 
        
        System.out.println(n+","+s);
    }
    
}
 
cs

3) float형을 for문 증감에 사용하면 결과가 달라질 수 있다.

따라서 되도록이면 float형은 사용하지 않는다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package ex0727;
 
public class for_Ex7 {
    public static void main(String[] args) {
        int s = 2000000000;
        int count = 0;
 
        // float형을 for 문의 증감에 사용하면 결과가 달라질 수 있으므로 사용하지 않는다.
        for (float f = s; f < s + 50; f++) {
            count++;
        }
        System.out.println(count);
 
        double a = 0;
        a += 4.7;
        a += 0.4;
        System.out.println(a);
        // 값이 5.1이 아님 //5.1000000000000005
        //실수형 연산은 조심해야함
        //이진수로 못고치기 때문에 발생하는 현상
    }
}
 
cs

'Language > JAVA' 카테고리의 다른 글

[TIL] break 문, continue 문  (0) 2020.07.28
[TIL] for문 예제  (0) 2020.07.28
[TIL] do-while 문  (0) 2020.07.27
[TIL] while 문  (0) 2020.07.24
[TIL]switch - case 문  (0) 2020.07.24

댓글