count++和count=count+1效率问题

count++和count=count+1的区别

区别在于jdk编译的时候 百度知道
   编译时,jdk会向上自动转换
   比如说
   int t =1;
   t++;   等同于 t=t+1;  //1 是int,和int型相加,int + int 赋值给int时,编译没有错误

long t= 1L;
   t++;   等同于 t=t+1;  //1 是int,和long 型相加,由于有int 向上自动转换成 long,int(这时转换成了long) + long 赋值给long时,编译没有错误

   short t=1;
   t++;  不等同于 t=t+1; //1 是int,和short类型相加,由于 short 向上自动转换成 int,short(这时转换成了int + int 赋值给short 时,编译肯定会出现错误!

   这里,自动向高级转换时,是t的“值”自动转换了,并非是其类型真的变了

public class Test {



/**
* @param args

*/

count++

public static void main(String[] args) {

            //纳秒级

double startTime= System.nanoTime()
int count=0;
for(int i=0;i<1000000;i++)
{
count++;
}
System.out.println(count);
double endTime=System.nanoTime();
System.out.println(endTime-startTime);
}

经过测试 运行949225.0纳秒

}

public class Test {


/**
* @param args
*/

count=count+1
public static void main(String[] args) {
double startTime=System.nanoTime(); ;
int count=0;
for(int i=0;i<1000000;i++)
{
count=count+1;
}
System.out.println(count);
double endTime=System.nanoTime();
System.out.println(endTime-startTime);
}

运行974291.0纳秒

可以看出 count++比count=count+1运行效率快

运行时间是相对的,你会发现最开始两次和以后运行时间不同,但是count++运行时间大于count=count+1;如果数比较小,运行时间可以忽略不计

因为运行时间和以下有关

1)JVM配置,特别是内存,
2)cpu占用情况,可供JVM使用的cpu份额
3)代码。尽量考虑用RandomAccessFile
4)运行时期,I/O占用情况


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值