在此示例中,我们将学习计算Java中常规方法和递归方法的执行时间。
要理解此示例,您应该了解以下Java编程主题:
示例1:Java程序来计算方法的执行时间
class Main { //创建一个方法 public void display() { System.out.println("计算方法执行时间:"); } // main 方法 public static void main(String[] args) { //创建Main类的对象 Main obj = new Main(); //获取开始时间 long start = System.nanoTime(); // 调用方法 obj.display(); //获取结束时间 long end = System.nanoTime(); //执行时间 long execution = end - start; System.out.println("执行时间: " + execution + " 纳秒"); } }
输出结果
计算方法执行时间: 执行时间: 656100 纳秒
在上面的示例中,我们创建了一个名为display()的方法。该方法将一条语句输出到指定台。程序将计算display()方法的执行时间。
在这里,我们使用了System类的nanoTime()方法。该nanoTime()方法以纳秒为单位返回正在运行的JVM的当前值。
示例2:计算递归方法的执行时间
class Main { //创建一个递归方法 public int factorial( int n ) { if (n != 0) //终止条件 return n * factorial(n-1); //递归调用 else return 1; } // main 方法 public static void main(String[] args) { //创建Main类的对象 Main obj = new Main(); //获取开始时间 long start = System.nanoTime(); //调用方法 obj.factorial(128); //获取结束时间 long end = System.nanoTime(); //执行时间(秒) long execution = (end - start); System.out.println("递归方法的执行时间为"); System.out.println(execution + " 纳秒"); } }
输出结果
递归方法的执行时间为 18600 纳秒
在上面的示例中,我们正在计算名为factorial()的递归方法的执行时间。