六、java运算符和表达式(包括三目运算符、自增自减)


一、运算符

1、定义

都是Java内置的可以进行相应运算的符号,
其他包括算术运算符、赋值运算符、关系(比较)运算符、逻辑运算符、位运算、三目运算符。

2、算术运算符

如果两个元素的类型一致,结果类型也保持一致;
两个元素的数据类型不一致,结果的数据类型是大的数据类型

符号内容
+求和
-求差
*求积
/求商

如果两个int类型作运算,除数为0;编译不会报错,但是运行会报异常 / by zero ,
如果浮点数,除数为0,编译 运行不会报错 结果为Infinity

符号内容
%取余 模余
++自增运算符
- -自减运算符

++步长为1,
让变量自增1;
符号可以放在变量左边,也可以放在变量右边;
如果++在变量右边,先使用变量当前的值参与运算,再让变量值增加1
如果++在变量左边,先让变量值增加1,再参与运算
--同理。

3、赋值运算符:

使用赋值运算符可以给变量赋值

符号内容
=将右边的值赋值给左边的变量
+=将左侧变量的值和右侧的值求和 将结果再赋值给左侧变量
i+=2i = (数据类型)(i+2) 数据类型的强制转换
-=将左侧变量的值和右侧的值求差 将结果再赋值给左侧变量
*=将左侧变量的值和右侧的值求积 将结果再赋值给左侧变量
/=将左侧变量的值和右侧的值求商 将结果再赋值给左侧变量
%=将左侧变量的值和右侧的值取余 将结果再赋值给左侧变量

4、关系(比较)运算符:

符号内容
>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于

最终运算结果必然为boolean类型

5、逻辑运算符:

只针对boolean类型的值作运算 true false;
逻辑运算符运算后的结果也必然为boolean类型

& 与 且 双目运算符:
在这里插入图片描述
左右两边都为true 结果为true;只要出现了false,结果就为false


| 或:
在这里插入图片描述
左右两边都为false,结果为false;只要有一边出现了true,结果就为true


! 非 单目运算符

!true=false !false=true

^ 异或
左右两边的值如果不相同,则结果为true
左右两边的值如果相同,则结果为false
&& 双与 短路与
如果&&左边为false,则符号右边不再执行

|| 双或 短路或
如果||左边为true,则结果必然为true;符号右边不再执行
优点:提高程序执行的效率
注意:
不管 & && 最终结果一定是一致的;&& ||不会改变结果,只是决定了符号右边的内容是否执行

6、位运算符

用来针对二进制进行运算符 ;
需要将要运算的数转为二进制的形式

&
根据每个二进制位进行运算
如果同一个二进制位上都为1 结果 1
如果同一个二进制位上都为0 结果0
在这里插入图片描述
|
根据每个二进制位进行运算
如果同一个二进制位上都为0 结果0
如果同一个二进制位上有一个为1 结果1

^
如果两个相同则为0
如果两个不同则为1

~ 单目运算符
原码 反码 补码(计算机底层真正使用保存和计算数据的)
正数:原码=反码=补码
负数:原码----------->反码----------->补码
除符号位,取反 +1
在这里插入图片描述
<<:
左移,针对二进制;
将二进制数整体向左移动相应的位数;左侧多出来的位数直接舍掉,后边空出来的位数补0
int a = 1;
a<<1 (a2^1)
a<<2 (a
2^2)
a<<3 (a2^3)
a<<n (a
2^n)

>>:右移
-3>>1:
在这里插入图片描述
>>>:无符号右移
案例:2放大222 2<<3
位运算: java底层很多程序都是使用的位运算
真正项目开发中,位运算使用较少。
单目运算符:只针对一个元素进行运算 ++ – ! ~
双目运算符 : 针对两个元素进行运算
三目运算符: 针对三个元素进行运算

7、三目(三元)运算符:

格式:表达式 ? 表达式1 : 表达式2
表达式的结果为boolean true false
如果表达式的结果为true,则执行表达式1;
如果表达式的结果为true,则执行表达式2;

8、运算符的优先级:

在这里插入图片描述

二、表达式

1.表达式

主要由数值和运算符组成
a>b
a&b
a++
结尾不需要加分号
允许构建复杂的表达式 a++ + --a*2

2. 语句

一条语句代表一个完整的程序执行逻辑
每条语句后都会加一个;表示语句结束
一行可以写多条语句;但是为了增强可读性,尽量避免;
{}代表一个完整执行逻辑,后边可以不加; 也可以加分号
可以不写语句单独写分号 代表空语句

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值