求:
for(int i = 100000; i > 0; i–) {}
for(int i = 1; i < 100001; i++) {}
这两个FOR循环哪个执行得更快?
我个人的测试方法为下面的方法,不知道对不对,请高手指教:
public class Test {
/**
* @param args
*/
static int num = 100000;
public static void main(String[] args) {
long begin = System.currentTimeMillis();
System.out.println("第一种情况开始:"+begin);
for (int i = 0; i < num+1; i++) {
}
long end = System.currentTimeMillis();
System.out.println("第一种情况结束:"+ end);
System.out.println("第一种开始和结束的时间差情况:"+ (end - begin));
begin = System.currentTimeMillis();
System.out.println("第二种情况开始:"+ begin);
for (int i = num; i >0; i--) {
}
end = System.currentTimeMillis();
System.out.println("第二种情况结束:"+begin);
System.out.println("第二种开始和结束的时间差情况:"+ (end - begin));
}
}
运行结果:
第一种情况开始:1268831446250
第一种情况结束:1268831446250
第一种开始和结束的时间差情况:0
第二种情况开始:1268831446250
第二种情况结束:1268831446250
第二种开始和结束的时间差情况:0
分享到:
相关推荐
循环展开能从两方面改进程序的性能: 减少了不直接有助于程序结果的操作的数量,例如循环索引计算和分支条件。 提供了一些方法,可以进一步变化代码,减少整个计算中关键路径上的操作数量。 循环展开对程序性能的...
同时,存在一个最优复叠热量分配系数(optα),决定制冷剂在不同部分的流量分配,以实现最优的循环性能。 7. 制冷剂与工质对:在自行复叠吸收制冷循环中,所使用的制冷剂对会对循环性能产生显著影响。目前,研究中...
两个for嵌套循环
在MATLAB环境中,实现两个不同长度序列的循环卷积是非常常见的操作。本篇将详细介绍如何在MATLAB中进行这一计算。 首先,我们要理解循环卷积的基本原理。普通线性卷积是两个无限序列的卷积,但在实际应用中,由于...
这是一个典型的单重循环程序,循环次数为50次。程序通过初始化CX寄存器为50,然后使用`AGAIN`作为循环标签,每次循环迭代时执行加法操作、更新指针,并使用`DEC CX`减小CX的值。`JNZ AGAIN`指令检查CX是否为0,如果...
这两个示例展示了 C/C++ 中 `for` 循环的细节以及条件表达式的处理方式。关键在于理解 `for` 循环的三个组成部分(初始化、条件判断、循环后的操作)以及条件表达式中各个操作符的执行顺序。特别地,对于 `&&` 和 `!...
这两种方式在性能上有何差异呢?这篇总结将深入探讨这个问题,并提供实际的测试结果。 首先,`List<T>.FindAll`方法是一个方便的 LINQ 扩展方法,它接受一个谓词(Predicate),即一个返回布尔值的委托,用于判断...
在实现循环队列时,我们可以自定义一个固定大小的缓冲区,并维护两个指针,分别表示队头和队尾。 初始化循环队列时,队头和队尾指针都指向缓冲区的起始位置。当有新的数据到来时,数据被存入缓冲区的队尾位置,并将...
在Android开发中,有时我们需要在一个布局中同时展示两个ListView,以实现类似网格或者并排比较的效果。这个场景在处理比如对比列表数据、显示多类别信息等时非常常见。标题"android两列显示两个listview"指的就是...
本文将深入探讨在Additive White Gaussian Noise (AWGN)信道中,三种主要的差错控制编码——卷积码、循环码和普通线性分组码的性能分析。MATLAB作为一种强大的数学工具,常用于实现这些编码的仿真和性能评估。 1. *...
默认情况下,ViewPager只会加载相邻的两个页面,以提高性能和减少内存消耗。在用户滑动时,它会自动创建新的页面并销毁不再可见的页面。 要实现循环滚动,我们需要扩展`PagerAdapter`并重写其中的关键方法。例如,...
在计算机科学中,多线程和循环队列是两个重要的概念,它们在高效并发编程中发挥着关键作用。本文将详细探讨多线程环境下的循环队列应用。 首先,我们来理解多线程。多线程是一种编程模型,允许一个程序同时执行多个...
在C++中,循环队列可以使用数组或者链表来实现,这两种方式各有优缺点。下面我们将详细探讨这两种实现方式及其基本功能。 首先,我们来看数组实现的循环队列。数组是最基础的数据结构,它的优点是访问速度快,空间...
通过 `while` 循环依次比较两个字符串中的每个字符,按字母顺序放入 `c` 中。当其中一个字符串处理完毕后,将另一个字符串的剩余部分添加到 `c` 的末尾。 ### 7. 结构体成员的传递与修改 **知识点:** - **结构体*...
本项目旨在介绍如何利用51单片机的定时器功能来实现LED小灯的循环点亮,这既是一个基础的硬件控制实践,也是一个良好的学习编程逻辑和理解定时器工作原理的机会。 51单片机内部集成了几个定时器/计数器资源,通常...
当我们有两个类A和B,且它们需要互相调用对方的成员时,通常会遇到两个主要问题:前置声明(Forward Declaration)和循环包含(Circular Inclusion)。让我们逐一分析: 1. 前置声明:在类A中使用类B的成员之前,...
在"Kettle循环遍历结果集作为参数传入转换.zip"的示例中,我们将探讨这个具体的操作流程和相关知识点。 首先,我们需要了解Kettle的基本结构。Kettle由两个主要部分组成:Job(作业)和Transformation(转换)。...