`
welcomezhang
  • 浏览: 17806 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

【回顾】java运算符

阅读更多

java运算符

java运算符相对还是比较简单的。

 

 

note:
1.java运算符除了单目运算符、赋值运算符、三目运算符从右向左结合,其他都是是从左向右结合的。

2.有些优先级不太好记,为了避免coding和review可能出现的错误,不确定的地方建议加上括号增加可读性。

 

左移运算实践

工作中会遇到这样的需求,某一个字段的不同位表示不同的含义,第1位表示xx,第2位表示yy,也就是用到所谓的“位”运算。这种场景下,我们就会用到左移运算。

 

这里给一个常用的vscode枚举。

public enum VsCodeBitDef {
    /**
     * 是否同意返利
     */
    XX(1),
    /**
     * 是否对聚划算交易额外出佣
     */
    YY(2);

    private VsCodeBitDef(int num) {
        this.num = num;
    }

    private int num;

    /**
     * 判断特定标记位是否设置
     * @param vsCode
     * @param vsCodeBitDef
     * @return
     */
    public static boolean isFlagSetted(int vsCode, VsCodeBitDef vsCodeBitDef) {
        vsCodeBitDef = Preconditions.checkNotNull(vsCodeBitDef);
        int shift = vsCodeBitDef.num - 1;
        return (vsCode & (1 << shift)) > 0;
    }

    /**
     * 设置某一位
     */
    public static int setFlag(int vsCode, VsCodeBitDef vsCodeBitDef, boolean on) {
        vsCodeBitDef = Preconditions.checkNotNull(vsCodeBitDef);
        int shift = vsCodeBitDef.num - 1;
        if (on) {
            vsCode |= (1 << shift);
        } else {
            vsCode &= ~(1 << shift);
        }
        return vsCode;
    }

}

 

 

  • 大小: 52.5 KB
分享到:
评论

相关推荐

    回顾 Java SE 基础实现代码 Java学习资料 自学资料

    回顾 Java SE 基础,基于 jdk-1.8 实现代码。 目录 语言基础 (八大)基本类型与引用类型 类型转换 运算符 流程控制 字符串与数组 核心技术 抽象 类的高级特性 final 内部类 枚举与泛型 异常处理 集合 I/O 反射 多...

    用于回顾java基础知识 Java学习资

    "用于回顾java基础知识"的标题和描述暗示了我们将探讨的是Java的基础概念,这可能包括语法、类、对象、数据类型、控制结构等核心概念。下面我们将深入这些主题,帮助你巩固Java编程的基础。 1. **Java简介**:Java...

    计算机后端-Java-Java核心基础-第14章 面向对象06 12. ==运算符的回顾.avi

    计算机后端-Java-Java核心基础-第14章 面向对象06 12. ==运算符的回顾.avi

    javaSE基础运算符相关内容-7

    而`049--Java零基础-回顾.mp4`可能是对前面所学知识的复习和总结,确保学习者能够牢固掌握这些基础概念。 通过学习这些内容,初学者将能够更好地理解Java中的条件判断,进行有效的数据处理,并为后续学习面向对象...

    阶段性章节复习:String类的使用 以及与基本数据类型变量间的运算 认识进制 常用运算符回顾之算术运算符、赋值运算符

    这是近期练习过的JavaSE基础源代码,含义注释及说明,适合复习Java基础使用,欢迎有需要的朋友下载交流学习。另外,热门专栏“Python从入门到人工智能”持续更新中,欢迎大家订阅学习和交流。

    java学习笔记 - 3

    1.回顾前一天知识 2.java运算符: 算术运算符 关系运算符 逻辑运算符 赋值运算符 字符串连接运算符 条件/三目运算符 3.分支结构: if 结构 if....else 结构

    动力节点JAVA完美学习课程 JAVA黄埔军校2018年最新JAVA夜校班全程班视频教程 1-56部分.txt

    ├─(14) 014-Java夜校视频教程-回顾上次课所讲内容.avi ├─(15) 015-Java夜校视频教程-标识符.avi ├─(16) 016-Java夜校视频教程-关键字和保留字.avi ├─(17) 017-Java夜校视频教程-字面值.avi ├─(18) 018-...

    Java面试宝典2013版pdf

    1. Java基础知识点回顾 Java是一种广泛使用的面向对象的编程语言。它由Sun Microsystems公司在1995年发布。Java具有平台无关性,可以一次编写,到处运行。Java编程语言的设计理念是尽量减少实现上的依赖,从而简化...

    java2实用教程

    3.1 运算符与表达式:详细解释了Java中的算术运算符、关系运算符、逻辑运算符等,并展示了它们的使用。 3.2 语句:讲解了Java中的控制语句,如if、switch、while、for等。 第四章:类,对象,和接口 4.1 编程语言的几...

    Java基础知识回顾共2页.pdf.zip

    标题"Java基础知识回顾共2页.pdf.zip"表明这是一个关于Java基础知识的简短总结,可能涵盖了核心概念和技术,分为两个部分进行讲解。虽然具体的文档内容未提供,但我们可以预期它将讨论以下几个关键领域: 1. **Java...

    Java语言实用教程

    - **Java语言的产生**:回顾Java的历史背景和发展历程。 - **Java语言的发展**:讲述Java从最初的版本到现在的演变过程。 - **Java语言的关键特点**:详细介绍Java的面向对象、简单高效、与平台无关等核心特点。 ...

    java in 24 hours

    - **Java简史**:回顾Java的发展历程。 - **Java的应用场景**:探讨Java在不同领域的实际应用案例,如Food Network、NASA等。 - **商业应用**:讲解Java在企业级应用中的角色。 - **开源社区**:介绍SourceForge等...

    Java SE编程入门教程 java判断循环(共79页).ppt

    Java SE编程入门是一个涵盖广泛的主题,它涉及到Java语言的基础知识,包括面向对象编程的概念、类和对象、包的使用、变量、数据类型、运算符、流程控制等。在这个系列的教程中,我们可以看到一系列的PPT和文档,它们...

    Java程序设计经典教材

    接下来是"第3章—JAVA语言中的数据与运算符",这里会详细介绍Java中的算术运算符、比较运算符和逻辑运算符,以及它们在实际编程中的应用。此外,你还会接触到赋值运算符、位运算符等,这些都会帮助你更好地操纵和...

    Thinking in Java 中文第四版+习题答案

    3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 ...

    Java cheat sheet

    Java编程速查表是Java程序员不可或缺的参考资料,它汇总了Java语言中最常用的功能特性,是新手入门和经验丰富的开发者回顾基础知识的快速途径。通过这些速查表,开发者可以迅速查找到相关类库的使用方法,编程语法的...

    北大青鸟JAVA作业答案

    "Java1-5作业以及上机答案"可能包含了变量声明、运算符使用、流程控制(如if-else、switch、for、while循环)、数组操作、方法定义、异常处理等内容的练习题目和解答。 例如: - **变量与数据类型**:学习如何声明...

    Java语言程序设计(第二版)课后第三章习题答案

    2. **运算符**:Java支持算术运算符(+,-,*,/,%),比较运算符(==,!=,&lt;,&gt;,,&gt;=),逻辑运算符(&&,||,!),位运算符,赋值运算符等。 3. **流程控制**:包括条件语句(if-else,switch-case)和循环...

    java 编程入门思考

    3.1 使用Java运算符 3.1.1 优先级 3.1.2 赋值 3.1.3 算术运算符 3.1.4 自动递增和递减 3.1.5 关系运算符 3.1.6 逻辑运算符 3.1.7 按位运算符 3.1.8 移位运算符 3.1.9 三元if-else运算符 3.1.10 逗号运算符 3.1.11 ...

Global site tag (gtag.js) - Google Analytics