
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42528266/article/details/103213820
package com.cwl.po;
/**
* @program: cwl-performance-optimization
* @description: 测试Break能否对For循环起到优化作用
* @author: ChenWenLong
* @create: 2019-11-22 11:55
**/
public class TestBreakLoop {
// 结论:for循环中当满足我们想要的操作之后加上break可以比较明显的提升性能
// 如果两个for循环的层数相差不大时,那么是否加上break差别并不大,当外层小内层大,此时break就起到了很好的作用
public static void main(String[] args) {
System.out.println(testUseBreak());
System.out.println(testNotUseBreak());
}
/**
* 功能描述:
* 〈测试不使用Break〉
*
* @params : []
* @return : long
* @author : cwl
* @date : 2019/11/22 11:57
*/
private static long testUseBreak() {
long begin = System.currentTimeMillis();
int c=0;
for(int a=0;a<100;a++){
for(int b=0;b<1000000;b++){
c = c + a+b;
break;
}
}
int d = c;
long end = System.currentTimeMillis();
return end - begin;
}
/**
* 功能描述:
* 〈测试使用Break优化for循环〉
*
* @params : []
* @return : long
* @author : cwl
* @date : 2019/11/22 11:56
*/
private static long testNotUseBreak() {
long begin = System.currentTimeMillis();
int c=0;
for(int a=0;a<100;a++){
for(int b=0;b<1000000;b++){
c = c + a+b;
}
}
int d = c;
long end = System.currentTimeMillis();
return end - begin;
}
}