Java笔记 Day 3——运算符

运算符

表示数据的运算,赋值,比较

注意:有小数参与的运算,得到的结果是近似值

算数运算符

在这里插入图片描述

% 的本质:看一个公式:a % b = a - a / b * b

当a%b中的a是小数时,公式 = a - (int)a/b*b

-10.5%3 = -10.5-(-10)/3*3 = -10.5+9 = -1.5

自增作为独立语句使用的的话,前++和后++完全等价于 i= i+ 1

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

  1. 关系运算符的结果都是boolean型,也就是要么是true,要么是false
  2. 关系表达式 经常在if结构得到条件语句中或循环结构的条件中

在这里插入图片描述

细节

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

逻辑运算符(表)

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

在这里插入图片描述

在这里插入图片描述

短路与(&&)和 逻辑与(&)的区别
  1. 对于&&短路与而言:如果第一个条件为false,后面的条件不会再进行判断
  2. 对于&逻辑与而言,如果第一个条件为false,后面的条件仍会判断
int a = 4;
int b = 9;
if(a < 1 && ++b < 50){
    System.out.println("ok");
}
System.out.println("a=" + a + " b=" + b);
最后输出a=4 b=9

int a = 4;
int b = 9;
if(a < 1 & ++b < 50){
    System.out.println("ok");
}
System.out.println("a=" + a + " b=" + b);
最后输出a=4 b=10    
||短路或 和 |逻辑或区别
  1. ||短路或:如果第一个条件为true,则第二个条件不会判断,最终结果为true,效率高
  2. |逻辑或:不管第一个条件是否为true,第二个条件都要判断,效率低
int a = 4;
int b = 9;
if(a > 1 || ++b > 4){
    System.out.println("ok");
}
System.out.println("a=" + a + " b=" + b);
最后输出a=4 b=9    

int a = 4;
int b = 9;
if(a > 1 | ++b > 4){
    System.out.println("ok");
}
System.out.println("a=" + a + " b=" + b);
最后输出a=4 b=10        
取反操作

真变假,假变真

逻辑异或(^)

不同为true,相同为false

bollean b = (10 > 1) ^ (3 < 5);
System.out.println("b=" +b);    // 输出 b= true

赋值运算符

将某个运算后的值,赋值给指定的变量

赋值运算符的分类
  1. 基本运算符: =

  2. 符合运算符:+= ,-= , /= , %= ,

    a += b;[等价a = a + b;]

    a -= b;[等价a = a - b;]

赋值运算符特点
  1. 顺序从右往左
  2. 赋值运算符的左边 只能是变量,右边可以是变量,常量,表达式
  3. 复合赋值运算符会进行类型的转换

三元运算符

条件表达式?表达式1:表达式2

运算规则:

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

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

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

int a = 10;
int b = 99;
int result = a > b ? a++ : b--;
//解读:1.a > b 为 false
//     2.返回 b--,先返回b的值,然后在 b-1
//     3.返回的结果是99
使用细节
  1. 表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换、强转换)
  2. 三元运算符可以转换为if…else

运算符优先级

运算符优先级表格:

在这里插入图片描述

优先级总结:

  1. 逗号,括号,花括号,分号
  2. 单目运算
  3. 算术运算符
  4. 位移运算符
  5. 比较运算符
  6. 逻辑运算符
  7. 三运运算符
  8. 赋值运算符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值