目录
一、自增自减运算符
放在变量的前面,我们叫做先++。 比如:++a
放在变量的后面,我们叫做后++。 比如:a++
不管是先++,还是后++。单独写在一行的时候,运算结果是一模一样的。
a++:先用后加
++a:先加后用
二、赋值运算符
=
运算过程:就是把等号右边的结果赋值给左边的变量
扩展赋值运算符
+=、-=、*=、/=、%=
就是把左边跟右边进行运算,把最终的结果赋值给左边,对右边没有任何影响。
注:扩展的赋值运算符中隐层还包含了一个强制转换。
public class OperatorDemo8 {
public static void main(String[] args) {
byte a = 10;
byte b = 20;
//a += b;
a = (byte)(a + b);
System.out.println(a);//30
}
}
隐式转换中指出,byte会转化成int类型再运算,再扩展的运算符运算后,会再次转化为byte。a += b ;实际上相当于 a = (byte)(a + b);
三、关系运算符
又叫比较运算符,其实就是拿着左边跟右边进行了判断而已。
==, !=,>,>=,<,<=
关系运算符最终的结果一定是布尔类型的。要么是true,要么是false
四、逻辑运算符
&:逻辑与(而且)
两边都为真,结果才是真,只要有一个为假,那么结果就是假。
|:逻辑或(或者)
两边都为假,结果才是假,只要有一个为真,那么结果就是真。
^:异或
如果两边相同,结果为false,如果两边不同,结果为true
!=:取反
false取反就是true,true取反就是false
五、短路逻辑运算符
&&:
运算结果跟&是一模一样的,只不过具有短路效果。
||:
运算结果跟|是一模一样的。只不过具有短路效果。
当左边不能确定整个表达式的结果,右边才会执行。 当左边能确定整个表达式的结果,那么右边就不会执行了。从而提高了代码的运行效率。
六、三元运算符/条件运算符
关系表达式 ? 表达式1 :表达式2 ;
计算关系表达式的值。
如果关系表达式的值为真,那么执行表达式1。
如果关系表达式的值为假,那么执行表达式2。
七、运算符的优先级
小括号优先于所有,想让谁先算,给谁加上小括号
优先级由高到低:
1.()
2.++ --
3.* / %
4.+ -
八、跳转语句
1.break语句
强行跳出循环体,不再执行循环体中break后面的语句。
如果break语句出现在嵌套循环中的内层循环,则break的作用是跳出内层循环
2.continue语句
只能用在循环语句中,执行到continue语句时,程序会自动结束本轮次循环体的执行,并回到循环的开始处重新判断循环条件