살아가는 이야기

Java for C Users (2): assert 본문

컴퓨터, 풀어그림

Java for C Users (2): assert

우균 2011. 12. 9. 10:20
C 프로그램 내의 특정 지점에서 만족해야 할 조건을 제시할 때 assert 매크로를 이용한다. 이 매크로는 <assert.h>를 #include하면 사용할 수 있다. 구닥다리 Java에는 assert가 없지만 최신 Java에는 assert가 언어 수준에서 제공된다. 다음 프로그램은 assert를 이용하여 작성한 피보나치 수열 프로그램이다.

public class Fib {
    static public void main(String[] args) {
        for (int n: new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}) {
            System.out.printf("fib(%d)=\t%d%n", n, fib(n));
        }
    }
    static public int fib(int n) {
        assert(n >= 0);
        return (n < 2)? n: fib(n-1)+fib(n-2);
    }
}

위 프로그램에 사용된 for 루프는 배열의 각 원소를 훑어보는 방식을 사용하고 있다. 이런 루프를 for-in 루프라고 하기도 하고, 향상된 for 루프(enhanced for loop)라고 하기도 한다. 또 같은 for 루프에 익명 배열을 만드는 수식도 사용되었다.

Java가 점점 스크립트 언어로 변하는 느낌이다.

Comments