Java运算符
目录
一、运算符介绍
1运算符介绍
二、算术运算符
1、基本介绍
2、算术运算符种类
3、算数运算符使用细节
三、关系运算符(比较运算符)
1、介绍
2、关系运算符一览
3、细节说明
四、逻辑运算符
1、基本介绍
2、逻辑运算符一览
3、&& 和 & 使用区别
五、赋值运算符
1、基本介绍
2、赋值运算符的分类
3、赋值运算符特点
六、三元运算符
1、基本语法
2、使用细节
七、位运算符
八、运算符优先级
一、运算符介绍
1运算符介绍
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
运算符可分为以下几个大类
(1)算术运算符。
(2)赋值运算符。
(3)关系运算符 [也叫比较运算符]。
(4)逻辑运算符。
(5)位运算符 [这里的位是二进制位]。
(6)三元运算符。
二、算术运算符
1、基本介绍
算术运算符是对数值类型的变量进行运算的,在Java程序中使用的非常多。
2、算术运算符种类
3、算数运算符使用细节
(1)对于除号'/'有两种用法,当除号两边都是整型时,结果也只能是整形(也就是如果有小数的话,舍弃小数部分,只保留整数部分);当除号两边只要有一个是浮点型数据时,结果也为浮点型。
(2)用取模符号'%'进行运算时,其本质为a%b=a-a/b*b。
(3)当自增作为独立语句出现时,i++和++i结果一样。
(4)当自增作为表达式出现时,j=i++可看为 j=i,i=i+1。
(5)当自增作为表达式出现时,j=++i可看为 i=i+1,j=i。
三、关系运算符(比较运算符)
1、介绍
(1)关系运算符的结果都是boolean型,也就是要么是true,要么是false。
(2)关系表达式经常用在if结构的条件中或循环结构的条件中。
2、关系运算符一览
3、细节说明
(1) 关系运算符的结果都是boolean型,也就是要么是true,要么是false。
(2)关系运算符组成的表达式,我们称为关系表达式。
(3) 比较运算符"=="不能误写成"=" 。
四、逻辑运算符
1、基本介绍
用于连接多个条件(多个关系表达式),最终的结果也是一个boolean值。
2、逻辑运算符一览
(1)短路与 && , 短路或 |,取反 !。
(2) 逻辑与 &,逻辑或 |,^ 逻辑异或。
真值表:
3、&& 和 & 使用区别
(1) &&短路与:如果第一个条件为false,则第二个条件不会判断,最终结果为false,效率高。
(2)& 逻辑与:不管第一个条件是否为false,第二个条件都要判断,效率低 。
五、赋值运算符
1、基本介绍
赋值运算符就是将某个运算后的值,赋给指定的变量。
2、赋值运算符的分类
(1)基本赋值运算符 =。
(2)复合赋值运算符:+= ,-= ,*= , /= ,%= 等。
这里举例讲一个复合赋值运算符+=:a+=b可看作a=a+b,其他的与其类型。
3、赋值运算符特点
(1) 运算顺序从右往左。
(2) 赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值 。
(3) 复合赋值运算符等价于下面的效果 比如:a+=3;等价于a=a+3; 其他类推。
4) 复合赋值运算符会进行类型转换。
六、三元运算符
1、基本语法
条件表达式?表达式1:表达式2;
运算规则:
(1)如果条件表达式为true,运算后的结果是表达式1;
(2)如果条件表达式为false,运算后的结果是表达式2;
2、使用细节
(1)表达式1和表达式2要为可以赋给接收变量的类型(或可以自动转换)
(2)三元运算符可以转成if--else语句
七、位运算符
java 中有 7 个位运算(&、|、^、~、<<、>>和>>>)。
(1)按位与&:两位全为1,结果才为1;
(2)按位或|:只要有一个1,结果就为1;
(3)按位异或^:相同为0,相异为1;
(4)按位取反~:0变1,1变0;
(5)算数左移<<:符号位不变,低位补0,相当于乘2;
(6)算术右移 >>:低位溢出,符号位不变,并用符号位补溢出的高位;
(7 逻辑右移(无符号右移)>>>:运算规则是为:低位溢出,高位补 0;
注意:
没有 <<< 符号;
位运算是指二进制位。
八、运算符优先级
运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。
如下图,上一行运算符总优先于下一行。
注意:只有单目运算符、赋值运算符是从右向左运算的。