Programing/Java

[Java] 예제 클래스 재귀호출-2

즐거운깐족이 2016. 5. 21. 18:34
Java 클래스 예제



파일명:Ex05_09_재귀호출.java

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Ex05_09_재귀호출 {
    public static void main(String[] args) {
        System.out.println("4 factorial: " + factorial(4)); //괄호 안에 4는 인자라고 부름
    }
    public static int factorial(int n){
        if(n==1)
            return 1;
        else
            return n * factorial(n-1);
    }
    
 
}
cs

예제 코드


결과


위의 예제는 재귀호출을 사용하여 팩토리얼을 출력하는 예제이다.

main에서 매서드를 호출할 때 4를 가지고 가고 4를 매개변수로 매서드가 실행된다.
매서드 내에서 if문을 사용하여 n이 1인지 아닌지 확인하고 1이 아니면 
factorial 매서드를 다시 호출 하는데 호출하기 전에 1을 빼고 호출한다.

계속 호출 하면서 n이 1이 되면 1을 반환한다 반환하면서 전에 있던 n값을 곱하면서 리턴한다.