Java Examples

Java Program - Calculate sum of Natural numbers



In Mathematics, the natural numbers are all positive numbers which is used for counting like 1, 2, 3, 4, and so on. The smallest natural number is 1.

Objective: Write a Java program which returns sum of natural numbers starting from 1 to given natural number n, (1 + 2 + 3 + ... + n).

Method 1: Using while loop

The example below shows how to use while loop to calculate sum of first n natural numbers.

public class MyClass {
  public static void main(String[] args) {
    int n = 10;
    int i = 1;
    int sum = 0;

    //calculating sum from 1 to n
    while(i <= n) {
      sum += i;
      i++;
    }

    System.out.println("Sum is: " + sum);
  }
}

The above code will give the following output:

Sum is: 55

Method 2: Using for loop

The same can be achieved using for loop. Consider the example below:

public class MyClass {
  public static void main(String[] args) {
    int n = 10;
    int sum = 0;

    //calculating sum from 1 to n
    for(int i = 1; i <= n; i++)
      sum += i;

    System.out.println("Sum is: " + sum);
  }
}

The above code will give the following output:

Sum is: 55

Method 3: Using Recursion

Similarly, recursion can be used to calculate the sum.

public class MyClass {
  //recursive method
  static int Sum(int n) { 
    if(n == 1)
      return 1;
    else
      return (n + Sum(n-1));
  } 

  public static void main(String[] args) {
    System.out.println("Sum of first 10 natural numbers: " + Sum(10));
    System.out.println("Sum of first 20 natural numbers: " + Sum(20));
  }
}

The above code will give the following output:

Sum of first 10 natural numbers: 55
Sum of first 20 natural numbers: 210

Method 4: Using Mathematical Formula

The sum of first n natural numbers can be mathematically expressed as:

Sum of Natural numbers
public class MyClass {
  public static void main(String[] args) {
    int n = 10;

    //calculating sum from 1 to n
    int sum = n*(n+1)/2;

    System.out.println("Sum is: " + sum);
  }
}

The above code will give the following output:

Sum is: 55