zoukankan      html  css  js  c++  java
  • Java 语言基础之运算符

    使用运算符之后,肯定有返回结果.

    六种运算符:

    • 算术运算符
    • 赋值运算符
    • 比较运算符
    • 逻辑运算符
    • 位运算符
    • 三元运算符

    1. 算术运算符
    加(+), 减(-), 乘(*), 除(/), 取余(%), 自增(++), 自减(--)
    注意:

    • 2%5 = 2;
    • 字符串与数字用加号连接: 3 + "2", 结果为 32;
    • 字符与数字用加号连接: 3 + 'a' = 100, 字符 a 默认转换为 ASCII 字码表对应值 97;
    • 自增:
    int a = 3, b;
    b = a++; // b = 3;
    b = ++a; // b = 4;
    

    2. 赋值运算符

    =, +=, -=, /=, %=

    3. 比较运算符
    >, <, >=, <=, ==, !=, instanceof(指出对象是否是特定类的一个实例,返回布尔类型值)

    4. 逻辑运算符

    • 用于连接两个 boolean 类型的表达式;
    • 逻辑与 "&" 运算规律: 表达式两边只要有一个为 false, 结果肯定是 false. 只有两边都为 true, 结果才是 true;
    • 逻辑或 "|" 运算规律: 表达式两边只要有一个为 true, 结果肯定是 true. 只有两边都为 false, 结果才是 false;
    • 逻辑异或 "^" 运算规律: 表达式两边结果相同(同为 true 或 false), 最终结果为 false. 如果不同, 结果为 true;
    • 逻辑非 "!" : 判断事物的另一面;
    • 短路与 "&&" 运算规律: 和 & 的运算结果一样,但是运算过程有区别

      & : 无论左边的运算结果是什么, 右边都参与运算

      && : 当左边为 false 时, 右边不参与运算
    • 短路或 "||" 运算规律: 和 | 的运算结果一样,但是运算过程有区别

      | : 无论左边的运算结果是什么, 右边都参与运算

      || : 当左边为 true 时, 右边不参与运算

    5. 位运算符

    • 直接对二进制进行运算,效率高
    • & 运算: 6 & 3 = 2; (见下图)
    • | 运算: 6 | 3 = 7; (见下图)
    • ^ 运算: 一个数异或同一个数两次, 结果还是这个数. 例 6 ^ 3 ^ 3 = 6
    • 左移位 << 运算: 左移几位就是该数据乘以 2 的几次方, 换句话说, 左移位可以完成 2 的次幂运算
    • 右移位 >> 运算: 右移几位就是该数据除以 2 的几次幂, 对于高位出现的空位, 原来高位是什么就用什么补足
    • 无符号右移 >>> 运算: 数据进行右移时, 高位出现的空位, 无论原高位是什么,空位都用 0 补

    练习: 对两个整数变量的值进行互换
    方式一: 使用第三方变量 (开发时使用, 阅读性强)
    方式二: 使用位运算 (面试时使用, 但阅读性差). 例
    int a = 3, b = 5;
    a = a ^ b;
    b = a ^ b; //b = (a ^ b) ^ b, 即 b 的值为 a
    a = a ^ b; //a = (a ^ b) ^ a, 即 a 的值为 b
    
    方式三:
    int a = 3, b = 5;
    a = a + b;
    b = a - b; 
    a = a - b; 
    

    6. 三元运算符

    • 格式: 条件表达式 ? 表达式1 : 表达式2;
    • 条件为 true, 返回表达式1; 反之, 返回表达式2;
    • 与 if 语句的区别: if 语句没有返回值, 三元运算符肯定有返回值;

    参考资料:
    JavaSE 基础视频(毕向东)

  • 相关阅读:
    UID卡、CUID卡、FUID卡的区别
    高中数学B版 高中数学A版
    Cenots7 服务搭建之搞清用户和组
    Flink 流处理 word count
    Flink Batch File Word Count
    Flink程序运行完yarn 模式后,返回运行standalone模式运行时。经常会出现运行不成功原因分析.
    Kafka消费者 API(自动提交offset)
    kafka 同步发送消息
    kafka 自定义分区
    kafka生产者 API Demo
  • 原文地址:https://www.cnblogs.com/linkworld/p/7419825.html
Copyright © 2011-2022 走看看