0062-Java运算符

1.运算符介绍

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

  1. 算术运算符
  2. 赋值运算符
  3. 关系运算符 [比较运算符]
  4. 逻辑运算符
  5. 位运算符 [需要二进制基础]
  6. 三元运算符

2.算术运算符

2.1 介绍

算术运算符是对数值类型的变量进行运算的,在 Java 程序中使用的非常多。

在这里插入图片描述

在 Java 中,使用算术运算符 +、-、 *、/ 表示加、减、 乘、除运算。 当参与 / 运算的两个操作数都是整数时, 表示整数除法;否则, 表示浮点除法。 整数的求余操作(有时称为取模)用 % 表示。例如,15/2 等于 7,15%2 等于 1 , 15.0/2 等于 7.50需要注意, 整数被 0 除将会产生一个异常, 而浮点数被 0 除将会得到无穷大或 NaN 结果。
在这里插入图片描述

2.2 细节说明

在这里插入图片描述
针对第2点的案例:

在这里插入图片描述

3.关系运算符(比较运算符)

3.1 介绍

  1. 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false
  2. 关系表达式 经常用在 if 结构的条件中或循环结构的条件中
    在这里插入图片描述

3.2 细节说明

  1. 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。
  2. 关系运算符组成的表达式,我们称为关系表达式。 a > b
  3. 比较运算符"==“不能误写成”="

4.逻辑运算符

4.1 介绍

用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean 值。

  1. 短路与 && , 短路或 ||,取反 !
  2. 逻辑与 &,逻辑或 |,^ 逻辑异或
    在这里插入图片描述

4.2 逻辑运算规则

  1. a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false

  2. a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false

  3. a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

  4. a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

  5. !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true

  6. a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

4.3 && 和 & 基本规则

名称语法特点
短路与&&条件 1&&条件 2两个条件都为 true,结果为 true,否则 false
逻辑与&条件 1&&条件 2两个条件都为 true,结果为 true,否则 false

4.4 && 和 & 使用区别

  1. &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高
  2. & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低
  3. 开发中, 我们使用的基本是使用短路与&&, 效率高

4.5 || 和 | 基本规则

名称语法特点
短路或||条件 1&&条件 2两个条件中只要有一个成立,结果为 true,否则为 false
逻辑与|条件 1&&条件 2只要有一个条件成立,结果为 true,否则为 false

4.6 || 和 | 使用区别

  1. ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高
  2. | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低
  3. 开发中,我们基本使用 ||

5. ! 取反 基本规则

名称语法特点
! 非(取反)!条件如果条件本身成立,结果为 false,否则为 true

6. ^ 逻辑异或

a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

7. 赋值运算符

7.1 介绍

赋值运算符就是将某个运算后的值,赋给指定的变量。

7.2 赋值运算符的分类

基本赋值运算符 =

  • int a = 10;

复合赋值运算符

  • += ,-= ,*= , /= ,%= 等

7.3 赋值运算符特点

  1. 运算顺序从右往左 int num = a + b + c;
  2. 赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值
    int num = 20; int num2= 78 * 34 - 10; int num3 = a;
  3. 复合赋值运算符等价于下面的效果
    比如:a+=3;等价于a=a+3;其他类推
  4. 复合赋值运算符会进行类型转换。
    byte b = 2; b+=3; b++;

8.三元运算符

8.1 基本语法

条件表达式 ? 表达式 1: 表达式 2;
运算规则:

  1. 如果条件表达式为 true,运算后的结果是表达式 1;
  2. 如果条件表达式为 false,运算后的结果是表达式 2;

口诀: [一灯大师:一真大师]

8.2 使用细节

  1. 表达式 1 和表达式 2 要为可以赋给接收变量的类型(或可以自动转换)
  2. 三元运算符可以转成if--else语句
    int res = a > b ? a++ : --b;
    //上下等价
    if ( a > b) res = a++;
    else res = --b;
    

9.运算符优先级

  1. 运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
  2. 只有单目运算符、赋值运算符是从右向左运算的。
  3. 一览表, 不要背,使用多了,就熟悉了。
    在这里插入图片描述

10.位运算符

点击查看进制相关知识介绍

Java 中有 7 个位运算(&、|、^、~、>>、<<和 >>>)
在这里插入图片描述
还有 3 个位运算符 >>、<< 和 >>> , 运算规则:

  1. 算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位(“溢出”可以理解为“扔掉”
  2. 算术左移 <<: 符号位不变,低位补 0
  3. >>> 逻辑右移也叫无符号右移,运算规则是: 低位溢出,高位补 0
  4. 特别说明:没有 <<< 符号

按位与&案例:
在这里插入图片描述

算数右移和算数左移案例:
在这里插入图片描述

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值