Java中可以使用System.currentTimeMillis()或者System.nanoTime()来记录程序的执行时间。
1. 使用System.currentTimeMillis()方法:
```java
long startTime = System.currentTimeMillis();
// 程序主体代码
long endTime = System.currentTimeMillis();
long elapsedTime = endTime - startTime;
System.out.println("程序执行时间(毫秒):" + elapsedTime);
```
2. 使用System.nanoTime()方法:
```java
long startTime = System.nanoTime();
// 程序主体代码
long endTime = System.nanoTime();
long elapsedTime = endTime - startTime;
System.out.println("程序执行时间(纳秒):" + elapsedTime);
```
这两种方法的区别在于精度和可读性。System.currentTimeMillis()返回的是自1970年1月1日00:00:00 UTC到当前时间的毫秒数,精度为毫秒级别。而System.nanoTime()返回的是系统的纳秒数,精度更高,但由于返回的是相对时间,所以不具有可读性。
另外,如果需要多次记录程序执行时间,可以使用一个计时器类来封装上述代码。例如:
```java
public class Timer {
private long startTime;
private long endTime;
public void start() {
startTime = System.nanoTime();
}
public void end() {
endTime = System.nanoTime();
}
public long getElapsedTime() {
return endTime - startTime;
}
}
```
使用示例:
```java
Timer timer = new Timer();
timer.start();
// 程序主体代码
timer.end();
System.out.println("程序执行时间(纳秒):" + timer.getElapsedTime());
```