java取余操作的坑

java取余操作的坑%操作慎用!!!本人比赛时遇到的坑,简单的题但是时间超了publicstaticvoidmain(String[]args){//System.currentTimeMillis()//从1970年01月01日00时00分00秒000毫秒到此刻的毫秒数返回类型是long类型longtime=System.currentTimeMillis();inta=Integer.MAX_VALUE;for(inti=1;i&lt

大家好,又见面了,我是你们的朋友全栈君。

%操作慎用!!!
本人比赛时遇到的坑,简单的题但是时间超了

public static void main(String[] args) { 
   
    //System.currentTimeMillis() 
    //从1970年01月01日00时00分00秒000毫秒到此刻的毫秒数返回类型是long类型
    long time = System.currentTimeMillis();
    int a = Integer.MAX_VALUE;
    for (int i = 1; i < 100000; i ++) { 
   
        for (int j = 1; j < 100000; j ++) { 
   
            a = a % 2;
        }

    }
    long itime = System.currentTimeMillis();
    long time2 = System.currentTimeMillis();
    for (int i = 0; i < 100000 ; i ++) { 
   
        for (int j = 1; j < 100000; j ++) { 
   
            a = a + 1;
        }
    }
    long itime2 = System.currentTimeMillis();
    System.out.println(time);
    System.out.println(itime);
    System.out.println(time2);
    System.out.println(itime2);
    System.out.println(a);
}

输出结果如下:
time : 1636903381528
itime :1636903392879
time: 21636903392879
itime :21636903392879
a : 1409965409

可以看到运用了%运算,耗时慢了10秒

坑!!!

打比赛的小伙伴一定要慎用%运算

| 和 & 也有一定的耗时

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134285.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • swagger @ApiModel @ApiModelProperty注解属性说明「建议收藏」

    @ApiModel使用场景:在实体类上边使用,标记类时swagger的解析类。概述:提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省。用法:@ApiModel(value=“ShopVo”,description=“商铺信息”)@ApiModelProperty使用场景:使用在被@ApiModel注解的模型类的属性上。表示对model属性的说明或者数据操作更改。概述:添加和操作模型属性的数据。用法:@ApiModelProperty(value=“

    2022年4月14日
    857
  • http://mail.163.com/help/help_spam_16.htm?ip=118.186.207.7&hostid=smtp5&time=1358341921

    http://mail.163.com/help/help_spam_16.htm?ip=118.186.207.7&hostid=smtp5&time=13583419210INRMumLsiQwT0xVgvYVmNCBWS7mV8LzSeLOZGHzflL3ziBSx+iej3G1syAeYvPZxqagQ0P7mgdX/qgnEWWuIcv4cTR6ZI5QNmqULAGtRkCtCNsphAD7cLBiV7UpV7yvURpKw6H8jHyDDZc8zP5P8QF9abbRoeoTcPcDs/Ij0+JSX9fkdkqCvmUFYzy/GBb+hMWJ

    2022年10月9日
    0
  • MySQL proxy读写分离

    MySQL proxy读写分离

    2021年9月9日
    49
  • linux 安装Jenkins和配置

    linux 安装Jenkins和配置简要介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。语言:Java一句话描述:持续集成工具建议的版本建议使用版本为“jenkins-2.164.x”。环境清单:CentOS7.6配置安装环境安装OpenJDK。 要求Java的OpenJDK为“1.8.0”以上,可以通过以下命令安装…

    2022年10月28日
    0
  • oracle创建sequence语法_oracle sequence使用

    oracle创建sequence语法_oracle sequence使用先假设有这么一个表:createtableS_Depart(DepartIdINTnotnull,DepartNameNVARCHAR2(40)notnull,DepartOrderINTdefault0,constraintPK_S_DEPARTprimarykey(DepartId));

    2022年8月31日
    1
  • 时间戳格式化「建议收藏」

    时间戳格式化「建议收藏」须知:1. 时间戳分2种,一种是10位的,只包含年月日时分秒,也就是说,只精确到秒。一种是13位的,包含毫秒。这2种都叫时间戳,并不是只有精确到毫秒的才叫时间戳。10位时间戳就是从1970-01-01到当前的秒数,注意,不是毫秒数,所以需要按毫秒解析时,要*100013位时间戳就是从1970-01-01到当前的毫秒数,在java中用Instant对象对应。2. timestamp的格式化串用大写的S来表示毫秒数。S的个数和毫秒的位数严格对应,否则报错。如果规范中要求精确到毫秒,那么给的时间字符串

    2022年4月19日
    470

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号