[java基础]之 运算符

运算符概念

针对常量和变量之间进行运算的符号

运算符的分类

算术运算符 赋值运算符 关系运算符(比较运算符) 逻辑运算符 位运算符 三目运算符

算数运算符

【java基础】之 运算符

+在java当中含义很多

1.作为正数 +5 单目运算符 a++ 双目运算符a+b 三目运算符 a?b:c

2.加法运算

3.字符串连接符

技巧:

1.如何计算中防止精度丢失

2.如何分离中一个数的每一位

eg: 1234

分离个位: 1234 / 1 % 10 意思为:将1234除1然后对10取余。

分离十位: 1234 / 10 % 10

分离百位: 1234 / 100 % 10

分离千位: 1234 / 1000 % 10

自增自减运算符

++ – 属于单目运算符

++表示自增1

–表示自减1

分为

单独使用

表示自增或者自减,没有任何区别

参与运算

如果++放在操作数的左边,就表示先自增再参与运算

如果++放在操作数的右边,就表示参与运算,再自增或者自减1

赋值运算符

【java基础】之 运算符

=:这个等于号再Java中表示赋值的意思,真正数学意义上的相等是 == 在JavaScript当中还有=== 表示类型和数值都相等

扩展赋值运算符

+=,-=,*=,/=,%= 注意:扩展运算符包含强制类型转换

eg:a+=10; a=(a的类型)a+10;

比较运算符

【java基础】之 运算符

关系运算符的结果是boolean类型

注意点:

1、 > 、 < 、 >= 、 <= 只支持左右两边操作数是数值类型

2、 == 、 != 两边的操作数既可以是数值类型,也可以是引用类型

逻辑运算符

作用:链接boolean类型的表达式,逻辑运算符两边必须是boolean类型的表达式

boolean类型的表达式1 逻辑运算符 boolean类型的表达式2 逻辑运算符 boolean类型的表达式3 逻辑运算符 boolean类型的表达式n

& 按位与 x&y x和y 均为true,取值为true;否则取值false
| 按位或 x y
^ 异或 x^y x和y的值相异,取值为true;否则取值false
&& 短路与 x&&y x和y 均为true,取值为true;否则取值false
短路或
!x x为false,取值为true;否则取值false
& 和 && 的区别:

1.&表示按位与,无论什么情况都会同时计算运算符两边的表达式

2.&&表示短路与,如果前面的表达式为false,那么无论后面结果如何,都不会去计算后面表达式的值

3.&&开发中使用,&基本不用

4.&常用于位运算,位运算的效率比普通运算要高很多

! : 取反

当!的个数是奇数个的时候,结果相反

当!的个数是偶数个的时候,结果不变

条件运算符

| ?: |

格式:x?Y:Z

x表达式必须是boolean类型的表达式

执行流程:

首选计算X表达式的结果,如果X的结果为true,那么整个表达式的结果就是Y的值

如果X的结果为false,那么整个表达式的结果就是Z的值

位运算符

在计算机内部,数据是以二进制编码存储的,Java变成语言允许我们对这些二进制编码进行位运算。

位操作符 使用方法 功能描述
& x&y x和y按位进行与运算
| x y
^ x^y x和y按位进行异或运算
~ ~y x按位进行非运算
>> x>>y 将x的二进制编码右移y位(前面填充的是符号位)
<< x<<y 将x的二进制编码左移y位
>>> x>>>y 将x的二进制编码右移y位(前面的位填0)

举例:12的编码是1100 ,7的编码是0111,那么:

12&7 结果的二进制编码为0100, 对应的值为4

12|7 结果的二进制编码为1111, 对应的值为15

12^7 结果的二进制编码为1011, 对应的值为11

因为

1100 1100 1100

&0111 |0111 ^0111

0100 1111 1011

如果对12进行移位操作:

12>>2; 结果的二进制吗为11,对应的值为3

7<<2; 结果的二进制码为11100,对应的值为28

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!