Java 常见例子

在数学中,自然数都是用于计数的正数,如1、2、3、4等。最小的自然数是 1。

目标: 编写一个 Java 程序,返回从 1 到给定自然数 n 的自然数之和,(1 + 2 + 3 + ... + n).

方法一:使用 while 循环

下面的示例展示了如何使用 while 循环计算前 n 个自然数的和。

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

    //计算1到n的和
    while(i <= n) {
      sum += i;
      i++;
    }

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

上面的代码将给出以下输出:

Sum is: 55 

方法 2:使用 for 循环

使用 for 循环也可以实现同样的效果。考虑下面的示例:

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

    //计算1到n的和
    for(int i = 1; i <= n; i++)
      sum += i;

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

上面的代码将给出以下输出:

Sum is: 55 

方法 3:使用递归

同样,递归可以

public class MyClass {
  //递归方法
  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));
  }
} 

上面的代码将给出以下输出:

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

方法4:使用数学公式

n 个自然数的和可以在数学上表示为:

Java 计算自然数之和
public class MyClass {
  public static void main(String[] args) {
    int n = 10;

    //计算1到n的和
    int sum = n*(n+1)/2;

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

上面的代码将给出以下输出:

Sum is: 55