Java基础Day04——运算符与表达式

Java基础

运算符与表达式

表达式:由数据/变量/常量加上运算符组成的代码

表达式可以对数据进行指定的运算,表达式还会有一个结果

算术运算符

进行算术运算的符号

运算符作用示例
+1) 加法 2) 正号 3) 字符串拼接int a = 10 + 20; 对数值(除boolean)进行加法运算; int b = +20; String s = “java” + “good”;
-1) 减法 2) 负号
*乘法int a = 10 * 20;
/除法整数相除, 结果还是整数(地板除) ;10 / 3 = 3; 整数与小数, 小数与小数相除, 结果都是小数
%求余, 求模, 取余10 / 3 = 3 …… 1 10%3 = 1 对小数, 对负数都可以进行求余 10.1 / 3 = 3 ……1.1 10.1 % 3 = 1.1
++整数自增1前置 ++a: 先进行自增, 再把自增结果作为表达式的值。 后置 a++: 先计算表达式的值, 再进行自增
整数自减1
比较运算符/关系运算符
运算符作用描述
>左边表达是否大于右边的表达式A > B,A和B都应该是数值型,运算结果是布尔类型的值,表达式成立, 结果就是true ,表达式不成立, 结果就是false
>=
<
<=
==A==B可以针对所有的类型,8种基本数据类型和3种引用类型, 比较是对象的地址是否相同。对象是否是同一个对象, 是不是同一个内存空间
!=A!=B
逻辑运算符
运算符作用描述
&& &逻辑与 : A&&B, A和B的值都是true, 结果就是true, 否则就是false运算数据类型必须是布尔型的, 结果也是布尔型的
|| |逻辑或: A || B, A和B的值都是false,结果就是false, 否则就是true
!逻辑非: !A ,如果A的值是true, 结果为false, 否则就是true

短路运算: 针对&&, ||这两个运算符

如果第一个表达式, 已经能够决定整个运算的结果, 第二个表达式将不会再执行.

A&&B, 如果A的值是false, B的值就不需要再进行执行了.

A||B, 如果A的值是true, B的值也不需要再执行了.

短路运算经常与自增/自减运算符同时考察

位运算符

位运算符是在二进制的基础上进行位运算

&按位与A&B A的对应位与B的对应位都是1时, 结果的对应位是1, 否则是0 二进制 1010 & 1100 1000 十进制 10 & 12 = 8
|按位或A|B A的对应位与B的对应位都是0时, 结果的对应位是0, 否则就是1 1010 | 1100 = 1110
^按位异或A^B A的对应位与B的对应位不相同, 结果的对应位是1 否则就是0 1010 ^ 1100 = 0110
~按位取反~A A的对应位是1, 结果的对应位就是0, 否则就是1 ~1010 = 0101
>>右移位A >> B, A在二进制的基础上, 向右移动B位, 左边空白位, 使用A的第一位补 1010 1100 >> 2 1110 1011 第一位是符号位, 移位完, 正数还是正数, 负数还是负数 0010 >> 1 0001 2 >> 1 = 1
<<左移位A<<B, A在二进制的基础上, 向左移动B位, 右边的空白使用0填充 1010 1100 << 2 1011 0000 每左移一位,就相当于乘2 0010 << 1 0100 2<<1 = 4
>>>无符号右移位A >> B, A在二进制的基础上, 向右移动B位, 左边空白位,使用0补 1010 1100 >> 2 0010 1011
赋值运算符

“= ”给变量/常量进行赋值操作

8种基本数据类型, 将具体的值保存到变量/常量所在的内存空间中.

3种引用类型, 将对象的地址保存到变量/常量所在的内存空间中.

两目运算符, 还可以与赋值运算符进行组合, 变成复合赋值运算符

+=, -=, *=, /=, &&=, ||=, &=, |=, ^=

A += B 相当于 A = A + B;

三目运算符

A ? B : C

  1. 首先计算表达式A的值, A必须是一个布尔值

  2. 如果A的值是true, 整个表达式的值就是B的值;如果A的值是false, 整个表达式的值就是C的值

  3. B和C只会有一个执行.

运算符的优先级

参考百度百科:运算符的优先级顺序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值