第三节:运算符

134 阅读1分钟

3.1算术运算符

+ - + - * / % (前)++ (后)++ (前)-- (后)-- +
​
//(前)++ :先自增1,后运算
//(后)++ :先运算,后自增1
short s1 = 10;
s1++;//自增1不会改变本身变量的数据类型
//(前)-- :先自减1,后运算
//(后)-- :先运算,后自减1

3.2赋值运算符

=  +=  -=  *=  /=  %= 

3.3比较运算符

==  !=  >  <  >= <=  instanceof
结论:
1.比较运算符的结果是boolean类型
2.区分 ==  和  = 

3.4逻辑运算符

&  && |  || ! ^
①区分& 与 &&
相同点1:& 与  && 的运算结果相同
相同点2:当符号左边是true时,二者都会执行符号右边的运算
不同点:当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。
开发中,推荐使用&&
②区分:| 与 || 
//相同点1:| 与  || 的运算结果相同
//相同点2:当符号左边是false时,二者都会执行符号右边的运算
//不同点3:当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算
//开发中,推荐使用||

3.5位运算符

1. 位运算符操作的都是整型的数据
2. << :在一定范围内,每向左移1位,相当于 * 2
   >> :在一定范围内,每向右移1位,相当于 / 2
   面试题:最高效方式的计算2 * 8 ?  2 << 3  或 8 << 1

3.6三元运算符

1.结构:(条件表达式)? 表达式1 : 表达式2
2. 说明
① 条件表达式的结果为boolean类型
② 根据条件表达式真或假,决定执行表达式1,还是表达式2.
  如果表达式为true,则执行表达式1。
  如果表达式为false,则执行表达式2。
③ 表达式1 和表达式2要求是一致的。
④ 三元运算符可以嵌套使用
3. 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立。
4. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。