关系运算符

  • >  大于
  • <  小于
  • >=  大于等于
  • <=  小于等于
  • ==  等于【注意是2个=】
  • !=   不等于【前面有感叹号】
  1. 关系运算符运算的结果一定是boolean类型的值只能取 true / false
  2. 当<、>、<=、>=和==、!=放在一起运算的时候它是先算【<、>、<=、>=】再算【==、!=】
  3. 关系运算符一般用于比较两个数值之间的大小关系
  4. String类型只能使用 ==、!= 这两种运算符用来比较字符串所在内存的地址是否相等
  5. char 类型可以使用关系运算符来比较【实际比较的是他的ASCII码】

ASCII码值

  1. A 的ASCII码值是65,B-Z在A的基础上递增加 1
  2. a 的ASCII码值是是在A基础上加32,B-Z在A的基础上递增加 1

逻辑运算符

  1. && 与 表达式两边运算结果都为ture运算结果才为ture,> 如果前面一个表达式为false,后面的表达式就不参与运算了【短路效应】
  2. || 或 表达式两边运算结果只要一个为ture运算结果就为ture,必须同时为false,运算结果才为false
  3. ! 非
    1. 输入时ture 输出就是false
    2. 输入时false 输出就是ture
  • 优先级 ! 高于 && 和 ||
  • 当他们并行都用在表达式中时先算 ! 再算 && 最后 ||
  • 可以使用小括号()来控制他的优先级

条件表达式

  • (条件判断) ? (表达式1) : (表达式2);
  • 当条件判断的结果为true是时候就取表达式1的结果
  • 当条件判断的结果为false是时候就取表达式2的结果
  • 当取到表达式1或者表达式2的结果后,另一个表达式2或者表达式1就无需计算了

位运算符

  • << 向左移位
int num = 1;
num = num << 4;  //表示将num值向左移4位得到16 等价于 num * 2^4
  • &nbsp;&nbsp;向右移位&nbsp;&nbsp;
int num = 16;
num = num >> 4; // 表示将num值向左移4位得到16 等价于 num / 2^4
  • ~ 取反运算

正数取反 得到 负数 值的大小为绝对值+1

int a=8;
a=~a; // 得到a等于-9

负数取反 得到 正数 值的大小为绝对值-1

int a=-8;
a=~a; // 得到a等于7

总结

  1. 单目运算符包括! ~ ++ –,他们的优先级别最高
  2. 优先级别低的是赋值运算符 =
  3. 建议通过加 () 来控制运算符的运算顺序
  4. 从右向左结合的是赋值运算符、三目运算符【条件表达式】、单目运算符【! ~ ++ –】
  5. 算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符