• Java操作符


    🐵由于Java的操作符和C语言的操作符有很多相同之处,所以本篇文章只讲解Java操作符的重点和与C语言的不同点


    1. 四则运算操作符:+ - * / %

    1.做除法和取模时右操作数不能为0;

    2.取模的有操作数可以是double类型,但是没有意义,一般对整形进行取模;

    3.当操作符两边的操作数不同时,向范围小的向范围大的类型提升

    4.当操作符两边的操作数大小小于4个字节时,会先提升到int型在进行计算

    2. 增量操作符

    +=、-=、*=、/=、%=

    3. 自增,自减操作符

    ++、--

    4. 关系操作符

    ==、!=、>、<、>=、<=

    关系操作符的运算结果是boolean类型

    1. int a = 10;
    2. int b = 20;
    3. System.out.println(a == b); //打印结果:false

    5. 逻辑操作符

    &&、||、!

    逻辑操作符的运算结果是boolean类型

    其中!后面必须是布尔表达式,不能有以下写法:

    1. if (!a) { //编译报错
    2. ...
    3. }
    4. while (!a) { //编译报错
    5. ...
    6. }

    5.1短路求值

    表达式1 && 表达式2:当表达式1结果为false,则整个表达式结果就为false,无需计算表达式2

    表达式1 || 表达式2:当表达式1结果为true,则整个表达式结果就为true,无需计算表达式2

    6. 位操作符

    &、|、~、^

    7. 移位操作符

    <<、>>、>>>

    <<(左移操作符):二进制比特位左侧位舍去,右侧位取0

    1. int a = 10;//1010
    2. System.out.println(a << 1);//20
    3. int b = -10;
    4. System.out.println(b << 1);//-20
    5. int c = 1;
    6. System.out.println(c << 2);//4

    总结:一个整数左移n位,相当于这个数乘上2^n;

    >>(右移操作符):二进制比特位右侧位舍去,左侧位取符号位

    >>>(无符号右移操作符):二进制比特位右侧位舍去,左侧位取0

    8. 条件操作符

    表达式1 ? 表达式2 : 表达式3

    1.表达式2和表达式3需要是同类型的,除非会进行自动类型转换(隐式)或我们主动进行强制类型转换,否则会报错

    1. int a = 10;
    2. int b = 20;
    3. double c = 1;
    4. int ret = a < b ? (int)c : b;
    5. int a = 10;
    6. int b = 20;
    7. byte c = 5;
    8. int ret = a < b ? c : b; //c会自动类型转换为int型

    2.条件运算表达式不能单独存在,其结果必须被使用,否则会报错

    1. if ((a < b ? c : b) > 1) { //被使用
    2. ...
    3. }
    4. int ret = a < b ? c : b //被使用

    例题:

    System.out.println(false  == true ? true : true == false ? false : false);

    由于表达式1的结果为false,所以执行表达式3,表达式3的结果为false,所以整个表达式的结果为false


    🙉本篇文章至此结束,有许多操作符都没有进行讲解是因为在之前的文章《操作符重点讲解》有过详细讲解

  • 相关阅读:
    OpenCV_CUDA_VS编译安装
    Linux 之 openssl 文件夹加密压缩与解压
    为什么if-else会影响我的代码的复杂度
    【lesson2】数据库的库操作
    【Linux】线程互斥
    CFA一级学习-CFA一级中文精讲(第三版)-第一章(1)
    ROS-API函数介绍
    WPF 制作雷达扫描图
    学习MySQL必须了解的13个关键字,你get了吗?
    Python基础编程入门实例:恺撒密码
  • 原文地址:https://blog.csdn.net/m0_74270127/article/details/134073504