下面我来详细讲解使用Java中的System.currentTimeMillis()方法计算程序运行时间的完整攻略。
一、System.currentTimeMillis()方法
System.currentTimeMillis()是Java中的一个常用方法,用于获取当前时间戳,即从1970年1月1日0时0分0秒开始到现在的毫秒数,返回类型为long。
二、计算程序运行时间示例
接下来,我们来看两个示例,分别使用System.currentTimeMillis()方法来计算程序运行时间。
示例1: 计算Fibonacci数列的递归实现运行时间
public class Fibonacci {
public static void main(String[] args) {
int n = 40; // 需要计算Fibonacci数列的第n项
long start = System.currentTimeMillis(); // 开始时间
int result = fibonacci(n); // 计算Fibonacci数列的第n项
long end = System.currentTimeMillis(); // 结束时间
System.out.println("第" + n + "项的值为:" + result);
System.out.println("程序运行时间为:" + (end - start) + "ms");
}
// 计算Fibonacci数列的第n项(递归实现)
public static int fibonacci(int n) {
if (n == 1 || n == 2) {
return 1;
}
return fibonacci(n - 1) + fibonacci(n - 2);
}
}
运行结果:
第40项的值为:102334155
程序运行时间为:6189ms
示例2: 计算Fibonacci数列的循环实现运行时间
public class Fibonacci2 {
public static void main(String[] args) {
int n = 40; // 需要计算Fibonacci数列的第n项
long start = System.currentTimeMillis(); // 开始时间
int result = fibonacci(n); // 计算Fibonacci数列的第n项
long end = System.currentTimeMillis(); // 结束时间
System.out.println("第" + n + "项的值为:" + result);
System.out.println("程序运行时间为:" + (end - start) + "ms");
}
// 计算Fibonacci数列的第n项(循环实现)
public static int fibonacci(int n) {
int a = 1;
int b = 1;
int result = 1;
for (int i = 3; i <= n; i++) {
result = a + b;
a = b;
b = result;
}
return result;
}
}
运行结果:
第40项的值为:102334155
程序运行时间为:0ms
三、总结
通过以上示例,我们可以发现,使用System.currentTimeMillis()方法可以很方便地计算程序运行时间。在计算程序运行时间时,应在程序执行开始和结束时分别使用System.currentTimeMillis()方法获取当前时间戳,并求出二者之差,即可得出程序的运行时间。另外,需要注意的是,在程序执行时间过短的情况下,可能出现运行时间为0的情况,因为System.currentTimeMillis()方法的精度只能精确到毫秒级别。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用System.currentTimeMillis()方法计算程序运行时间的示例代码 - Python技术站