博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
计算程序运行时间
阅读量:7192 次
发布时间:2019-06-29

本文共 1985 字,大约阅读时间需要 6 分钟。

   在编写完程序后,通常都会对程序进行性能测试,比较常用的方法就是计算完成某个任务所花费的时间。System类提供了获得当前时间的方法,但是其单位是毫秒,阅读不方便。本实例将其转换成方便的阅读格式。实例运行效果如图

     System类包含一些有用的类字段和方法,它不能被实例化。在System类提供的设施中,有标准输入、标准输出和错误输出流,对外部定义的属性和环境变量的访问,加载文件和库的方法,还有快速复制数组的一部分的实用方法。本实例使用其currentTimeMillis()方法获得系统当前时间,该方法的声明如下:

 

public static long currentTimeMillis()

 

技巧:如果需要得到更精确的时间可以使用nanoTime()方法,该方法的时间单位是纳秒。

 

1)编写round()方法,该方法用来将浮点数从小数点后第二位进行四舍五入。代码如下:

 

public static double round(double value) {    return Math.round(value * 10.0) / 10.0;                    //利用Math类的round方法进行四舍五入计算}

 

2)编写getElapsedText()方法,它可以将默认的毫秒单位转换成容易阅读的形式。代码如下:

 

package com.mingrisoft.system;public class Timing {    public static double round(double value) {        return Math.round(value * 10.0) / 10.0;// 利用Math类的round方法进行四舍五入计算    }        public static String getElapsedText(long elapsedMillis) {        if (elapsedMillis < 60000) {            double unit = round(elapsedMillis / 1000.0);// 将时间转换成秒            return unit + "秒";// 在转换完的时间后增加单位        } else if (elapsedMillis < 60000 * 60) {            double unit = round(elapsedMillis / 60000.0);// 将时间转换成分            return unit + "分";// 在转换完的时间后增加单位        } else if (elapsedMillis < 60000 * 60 * 24) {            double unit = round(elapsedMillis / (60000.0 * 60));// 将时间转换成时            return unit + "时";// 在转换完的时间后增加单位        } else {            double unit = round(elapsedMillis / (60000.0 * 60 * 24));// 将时间转换成天            return unit + "天";// 在转换完的时间后增加单位        }    }        public static void main(String[] args) {        long begin = System.currentTimeMillis();        System.out.println("程序开始运行时间:" + begin);        for (int i = 0; i < 1000000000; i++) {            Math.random();        }        long end = System.currentTimeMillis();        System.out.println("程序结束运行时间:" + end);        System.out.println("程序运行时间:" + getElapsedText(end - begin));    }}

 

心法领悟currentTimeMillis()方法的使用。

该方法的精度与底层操作系统有关,如很多操作系统使用的时间是以几十毫秒为单位的。如果读者需要非常精确的时间,可以使用nanoTime()方法。

 

转载于:https://www.cnblogs.com/mrxy/p/6598465.html

你可能感兴趣的文章
Linux 文件操作总结
查看>>
Chrome下的语音控制框架MyVoix.js使用篇(三)
查看>>
【iOS】UIKit框架 学习笔记
查看>>
thinkphp5 自动注册Hook机制钩子扩展
查看>>
类的多态(虚函数)
查看>>
JFreeChart入学教程
查看>>
java 放射机制简介
查看>>
Object 的方法总结
查看>>
Redis中5种数据结构的使用场景
查看>>
转:线性表的查找-顺序查找
查看>>
原创: 开题报告中摘要部分快速将一段文字插入到word的表格中
查看>>
TCP/IP协议的关系?
查看>>
rsync 参数说明及使用参数笔记好文摘抄
查看>>
UVA548 Tree (二叉树的遍历)
查看>>
礼物(BFS)
查看>>
相似基因(动态规划)
查看>>
经验小结(个人笔记)
查看>>
jq对页面元素进行排序
查看>>
安装laravel
查看>>
VB调用VC编写的Dll之万恶的参数传递
查看>>