살아가는 이야기
Java for C Users (2): assert 본문
C 프로그램 내의 특정 지점에서 만족해야 할 조건을 제시할 때 assert 매크로를 이용한다. 이 매크로는 <assert.h>를 #include하면 사용할 수 있다. 구닥다리 Java에는 assert가 없지만 최신 Java에는 assert가 언어 수준에서 제공된다. 다음 프로그램은 assert를 이용하여 작성한 피보나치 수열 프로그램이다.
위 프로그램에 사용된 for 루프는 배열의 각 원소를 훑어보는 방식을 사용하고 있다. 이런 루프를 for-in 루프라고 하기도 하고, 향상된 for 루프(enhanced for loop)라고 하기도 한다. 또 같은 for 루프에 익명 배열을 만드는 수식도 사용되었다.
Java가 점점 스크립트 언어로 변하는 느낌이다.
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