+、-、、/、%、++、–
说明:
1.同类型数据参与运算,返回同类型的结果
2.如果类型不同,需要类型转换
3.byte、short、char参与运算,会先转成int再计算
4.运算的时候,Java不会检查溢出,需要注意
5.运算的时候,要保证类型一致
6.如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数则不可忽略。此外,取模运算的结 果不一定总是整数。
7.对于除号“/”,它的整数除和小数除是区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。 例如: int x=3510;x=x/10001000; x的结果是?
8.“+”除了作为正号、加法运算符之外,它还可以作为连接符
9.++、–可以放在变量的前面,也可以放在变量的后面,但是在前在后是不一样的
在前,先赋值(算++,–,将值给表达式),后参与其他运算
在后,先参与其它运算,后赋值
、>=、<、<=、==、!= instanceof
说明:
结果只能为boolean
< >= <= :只能使用在数值类型的数据之间。
== 和 !=: 不仅可以使用在数值类型数据之间,还可以使用在其他引用类型变量之间。
1非短路运算符
&:所条件都成立,结果才为true;只要1个条件不成立,结果就为false
|:只要1个条件成立,结果就为true;所的条件都不成立,结果才为false
2短路运算符
&&:如果前面的条件为false,后面的操作不需要执行
||:如果前面的条件为true,后面的操作不需要执行
3非运算
!(非true即false,非false即true
4异或
^:相同为false,相异为true
单赋值= 复合赋值+=、-=、*=、/=、%=
说明:
运算的结果不会改变变量本身的数据类型
开发中,如果希望变量实现+2的操作,几种方法?
方式一:num = num + 2;方式二:num += 2; (推荐)
开发中,如果希望变量实现+1的操作,几种方法?
方式一:num = num + 1;方式二:num += 1; 方式:num++; (推荐)
说明:
表达式1和表达式2要是同类型
3元运算符可以嵌套使用
凡是使用3元运算符的地方,都可以改写为if-else;反之,不成立。
如果程序既可以使用3元运算符,又可以使用if-else,优先择3元运算符。原因:简洁、执行效率高。
前提:需要将数转成对应2进制数
<<左移:向左边移动指定的距离
符号右移:如果最高位是1,前面补1;如果最高位是0,前面补0
无符号右移:前面都是补0
&位与:每一位都需要进行&运算,两个都为1,结果才为1
|位或:每一位都需要进行|运算,只要1个为1,结果就为1
^异或:只一个为0,一个为1,结果才是1
~取反:位取反