VOOZH about

URL: https://www.geeksforgeeks.org/java/java-program-for-factorial-of-a-number/

⇱ Java Program for Factorial of a Number - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Java Program for Factorial of a Number

Last Updated : 12 May, 2026

The factorial of a number is the multiplication of all positive integers from 1 to that number. In Java, factorial programs are commonly used to practice loops, recursion, and arithmetic operations.

Note: Factorial of n is represented as n!.

Formula for Factorial

n! = n * (n-1) * (n-2) * (n-3) * ........ * 1

👁 Factorial of a Number in Java

Example:

6! == 6*5*4*3*2*1 = 720. 
5! == 5*4*3*2*1 = 120
4! == 4*3*2*1 = 24

Approaches to Find the Factorial of a Number

1. Iterative Approach


Output
Factorial of 5 is 120

Explanation: This program calculates the factorial of a number using an iterative approach by multiplying all integers from 1 to the given number using a loop.

2. Recursive Approach


Output
Factorial of 5 is 120

Explanation: This program calculates the factorial of a number using recursion by repeatedly multiplying the number with the factorial of its previous number until it reaches 0.

Note: Recursive solutions may cause stack overflow for very large values of n, so iterative or BigInteger approaches are preferred for large inputs.

3. Using the Ternary operator


Output
Factorial of 5 is 120

Explanation: This program calculates the factorial of a number using recursion and the ternary operator in a single-line return statement.

Note: The int and long data types cannot store very large factorial values and may cause overflow, to resolve this Java provide the BigInteger class to handle large numbers safely.

Now, we are going to discuss how BigInteger class works in Java, It allows us to calculate factorials of very large number, such as 100! which would overflow the int or long types.

4. Using BigInteger Approach


Output
Factorial of 100 is 93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000

Explanation: This program calculates the factorial of a large number using the BigInteger class, which helps prevent overflow when working with values larger than the range of int or long data types.

Please refer factorial of large numbers for a solution that works for large numbers. Please refer complete article on the Program for factorial of a number for more details!

Comment
Article Tags: