目录
1.什么是运算符
2.算术运算符
1.基本四则运算符:加减乘除模(+ - * / %)
2.增量运算符(+= -= *= /=)
3.自增自减运算符++ --
3.关系运算符
4.逻辑运算符
5.位运算符
1.按位与&
2.按位或 |
3.按位取反 ~
4.按位异或^
6.移位运算符
1.左移 <<(等价于“乘以2的n次方(正数和负数均适用,可能溢出)”)
2.右移 >>(等价于“除以2的n次方并向下取整(负数右移后仍是负数)”)
7.条件运算符
8.运算符的优先级
1.什么是运算符
计算机的最基本的用途之一就是执行数学运算,比如:
这个加法就是运算符,下面开始正式的讲解。
2.算术运算符
1.基本四则运算符:加减乘除模(+ - * / %)
此处就对 / 和 %,进行讲解。如图:
/ 除号就是对其进行求 商,而 % 求的是其的 余数
但此处不同的是,java中取余可以对小数进行,如图
这便是Java中%与c中的不同之处。
注意:
1.都是二元运算符,使用时左右两侧必须都有操作时
2.int/int结果还是int类型。而且会向下取整。
3.两侧的操作数不一致时,会向类型大的提升
2.增量运算符(+= -= *= /=)
其意思是如 :a +=2 ==》a = a + 2;
其他的以此类推。
增量运算符在计算的时候,可以不进行强制类型转换。
3.自增自减运算符++ --
不过多讲解
需要注意的是:
1.如果单独使用,前置++ --和后置++ --没有区别
2.如果混合使用,前置++ 是先加一,在使用加一后的值。而后置++是先使用a的值再加一。
3.只有变量才可以使用自增自减运算符,常量不能使用,因为常量不可以被修改。
3.关系运算符
主要有六个:== != < > <= >=,其计算结果是true/false而不是0或1。
4.逻辑运算符
逻辑与&&,也可以理解为且,两个同时为真才是真
如果第一个条件时假,第二个条件不在执行。(短路求值)
逻辑||,也可以理解为或,有一个是真就是真;
如果第一个条件是真,第二个条件不在执行。(短路求值)
逻辑非!,不是就是,!ture就是false
需要注意的是& |也支持上述的运算但是不支持短路求值,仍会执行第二个条件;
5.位运算符
1.按位与&
计算规则:如果两个二进制位都是1,则结果是1,否则结果为0;有零就是零
2.按位或 |
计算规则:如果两个二进制位都是0,则结果是0,否则结果为1;有1就是1;
此处1和0可以看作真假来理解
3.按位取反 ~
计算规则:如果该位是1变为0,0变为1
4.按位异或^
计算规则:如果两个数字的二进制位相同,则结果是0,否则是1;
a ^ a = 0
0 ^ b = b
6.移位运算符
1.左移 <<(等价于“乘以2的n次方(正数和负数均适用,可能溢出)”)
最左侧的不要了,在右侧补零
对于正数而言,每左移一位相当于*2
2.右移 >>(等价于“除以2的n次方并向下取整(负数右移后仍是负数)”)
最右侧的不要了,在左侧补零
对于正数而言,每右移一位相当于/2
7.条件运算符
表达式1 ?表达式2:表达式3;
这是java中唯一一个三目运算符,是条件判断语句的简化写法
表达式1为真则结果式表达式2,反之是表达式3;
注意:表达式不能单独存在,其产生的结果必须要被使用
8.运算符的优先级
不需要记忆,加上()即可。
感谢大家的观看,请指正