Java写算法题中那些影响你效率的细节(关于暴力破解算法题的细节处理)

QQ讨论群:99979568 多交流才能进步

暂时写到这里,有不懂的欢迎评论, 如果有什么其他提高效率的细节,欢迎评论或者私信我,小编一定努力学习,争取早日分享给大家

如果大家嫌三连累的话,可以看看这个文章,快速三连(●ˇ∀ˇ●)

判断奇数偶数
两个变量的值交换
在使用数组长度的时候需要注意
做OJ或者控制台输入时可以优化的地方
求质数的方法(欧拉筛)
循环中一定不能进行的操作
循环中一定要会的操作(goto语句)
声明变量需要注意的地方
if条件中的boolean应该怎么判断才能提高效率
在使用List,Map,Set时需要注意的事情
long,double类型的正确声明
在数组中最大值和最小值差值比较小的时候,推荐使用的排序





判断奇数偶数

正常情况下,我们都是去对2取模看是不是奇数偶数


package CSDN_Demo;

public class 奇数偶数篇 {
   
    public static void main(String[] args) {
   
        int n = 20;
        if(n % 2 == 0) {
   
            System.out.println("是偶数");
        } else {
   
            System.out.println("是奇数");
        }

    }
}

PS:注意:光理论是不够的,在此送大家一套2020最新Java架构实战教程+大厂面试题库 点击此处 进来获取 ,希望大家一起进步哦!

实际上,位运算的效率会更高

package CSDN_Demo;

public class 奇数偶数篇 {
   
    public static void main(String[] args) {
   
        long start1 = System.currentTimeMillis();
        for (int m = 0; m <= 1000; m++) {
   
            if (m % 2 == 0) {
   
                System.out.println("是偶数");
            } else {
   
                System.out.println("是奇数");
            }
        }
        long end1 = System.currentTimeMillis();


        long start2 = System.currentTimeMillis();
        for (int n = 0; n <= 1000; n++) {
   
            if ((n & 1) == 0) {
   
                System.out.println("是偶数");
            } else {
   
                System.out.println("是奇数");
            }
        }
        long end2 = System.currentTimeMillis();

        System.out.println("正常的时间为" + (end1 - start1));
        System.out.println("位运算的时间为" + (end2 - start2));
    }
}

控制台的结果显示如下:
在这里插入图片描述

一个数&1 == 1 证明是奇数 一个数&1 == 0 证明是偶数





两个变量的值交换

当两个变量值需要交换的时候,我们通常情况下是声明一个变量当作中介去交换
其实我们也可以进行位运算,(●ˇ∀ˇ●)

package CSDN_Demo;

public class 两个变量的交换 {
   
  • 39
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 32
    评论
评论 32
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值