0%

Java运算符

Java运算符

运算符介绍

一种特殊的符号,表示数据的运算、赋值和比较。

算数运算符

对数值类型的变量进行运算。+、-、*、/、%、++、--。

细节说明: 对于/,整数之间做除法,舍弃小数只保留整数部分 取余a%b:a%b=a -a / b * b

关系运算符

运算结果是boolean型,true或false。

==、!=、<、>、<=、>=;instanceof

逻辑运算符

用于连接多个条件,最终结果也是boolean值。

短路与&&、或、取反;逻辑与、或、异或。 短路与a&&b中,如果第一个条件为false,则第二个条件不会判断,效率更高。 短路或a||b中,如果第一个为true,则第二个条件不会判断。 异或a^b中,如果a和b不同,则为true。

赋值运算符

将值赋给变量。

运算特点: 运算顺序是从右向左; 赋值运算的左边只能是变量,右边可以是变量 复合赋值运算符会进行类型转换。

三元运算符

条件表达式?表达式1:表达式2 如果条件表达式为true,运算后的结果为表达式1;如果条件表达式为false,运算后的结果为表达式2

使用细节: 表达式1和表达式2要为可以赋给接收变量的类型 三元运算符可以转为if-else语句

运算符优先级

括号>单目运算符>算数运算符>位移运算符>比较运算符>逻辑运算符>三元运算符>赋值运算符

位运算

按位与、按位或、按位异或、按位取反

算数左移<<符号位不变,低位补0; 算数右移>>符号位不变、低位溢出,用符号位补溢出的高位; 逻辑右移>>>低位溢出,高位补0

原码、反码和补码

  1. 二进制的最高位是符号为,0表示正数、1表示负数
  2. 正数的原码、反码、补码都一样
  3. 负数的反码是原码符号位不变,其他位取反
  4. 负数的补码=反码+1;负数的反码=补码-1
  5. 0的反码和补码都是0
  6. java中的数都是有符号数
  7. 计算机运算时,都是以补码进行运算,结果看原码