Java中的运算符
Java中常用的运算符:
-
算术运算
+,-,*,/,%(取余运算),++(自加1运算),–(自减1运算)
(Java中整数除整数结果依然为整数,直接将小数部分截掉)
num++:先使用后加1
++num:先加1在使用 -
逻辑运算(运算结果永远为一个boolean
&&逻辑与 :运算符两边同为true结果为true,若任一遍为false则结果为false
短路与:当第一个表达式为false时,将不在计算第二个表达式而直接返回结果false
||逻辑或:运算符两边同为false时结果为false,任一边为true则结果为true
短路或:当第一个表达式为true时,将不在计算第二个表达式而直接返回结果true
!逻辑非:单目运算,取反运算。
逻辑非运算只针对boolean进行运算,非boolean值无法使用逻辑非运算逻辑运算的结果永远为boolean -
关系运算(结果是一个boolean值)
>,<,==,!=,>=,<=
属于双目运算,主要针对数字类型进行比较;如果是非数字类型,如对象比较我们需要使用专业比较器进行比较 -
赋值运算=
int num = 10;
//将=号右边的值赋给左边的变量
num = num1;
//将=号后面的值赋给前面的变量
+=,*=,/=,%=扩展赋值运算num = num + 1;
num+=1;
两种写法的区别 -
条件运算(三目运算符)
表达式1(条件)?表达式2:表达式3
当表达式1为true时,执行表达式2;为false时,执行表达式3。
条件运算时,if-else的变形体条件运算中的表达式只能为单行代码 -
+字符串连接运算符
Java中字符串与任何类型的数据进行+运算,结果为连接运算,获得的结果为字符串
注:基本运算符的执行顺序 算术运算==>关系运算==>逻辑运算==>赋值运算 (有小括号的优先级最高) -
位运算符位运算
操作的对象为二进制位,目的是提高运算效率。
(1)~按位非运算:
运算规则:按位取反,再求补码
·求补码:符号位不变,其余位求反末位正数加1,负数减1
计算方式:正整数:加1取负,负整数:求绝对值在减1
(2)&按位与运算:(双目运算,同为1结果为1,否则为0)
(3)|按位或运算(双目运算,有1为1,同0为0)(4)^异或运算(双目运算,两个相同为0,不同为1)
(5)<<左移运算:
运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零
(6)>>(带符号右移运算),>>>(无符号右移运算)