javaSE回顾_03
2020-10-08 本文已影响0人
啊耶嗨
运算符
算术运算符:+,-,*,%,/,++,--(最基本的七个运算符)
其中,“++”和“--”分别为自增运算符和自减运算符。如“a++”表示在a的原值的基础上加1。
“+”除了做运算符外还可以做字符串的连接运算符。如:System.out.println("a"+"b");
在使用“/”时,如果两个操作数均为整数类型,结果截断取整。如果两个操作数至少有一个为浮点型(此时除数允许为0或0.0,得到结果为正无穷或负无穷),运算结果就是自然除法的结果。
赋值运算符:=
关系运算符:>,<,>=,<=,==,!=,instanceof(记录在类与继承中)
关系运算符的运算结果为Boolean型的
“=”和“==”有啥区别?区别很大,在Java中“=”表示的赋值,比如“a=2”。并不是说a的值为2,而是让2作为a的值。
换句话说,“a=2”更像是一种行为,让a的值为2。而“a==2”则是一种判断,看a的值是否为2.
逻辑运算符:&,|,!,&&,||
短路运算
这样去写,看似没什么区别,但是当输入两个"&"和"|"时,对a和b的判断并不一定都会进行。换句话说,当输入两个逻辑运算符时,逻辑符两侧的公式不一定都会得以运算。如果通过运算逻辑运算符前面的公式就能得出结论的话,就不会继续计算符号后面的公式了。
位运算符:&,|,^,~,>>,<<,>>>
java支持的位运算符有七个:
&:按位与。当两位同时为1时才返回1。
|:按位或。只要有一位为1即可返回1。
~:按位非。单目运算符,将操作数的每个位(包括符号位)全部取反。
^:按位异或。当两位相同时返回0,不同时返回1。
<<:左移运算符。
>>:右移运运算符。
>>>:无符号右移运算符。
在此,仅做简单了解。数据结构及算法环节再详细记录。
条件运算符 ?:
类似于一个简化的单条件if()语句。
等价于
扩展赋值运算符:+=,-=,*=,/=
a+=b;等价于a=a+b;其它以此类推
运算符优先级
这个没啥好说的,看个图表就行