运算符的概念
算术运算符
+加法、-减法、*乘法、/除法、%取模运算符
注意事项:整数相除只保留整数,两个数不都是整数相除可以保留小数,比如:
(double)5/2或将整数*1.0。
+既可以作为字符串连接符,又可以作为加法运算符
只要两边吃的操作数中有一个操作数是字符串,则+号就被当作字符串连接符
比较运算符(返回true、false)
>、>=、<、<=、==、!=
自增自减运算符
++a;a++;--a;a--;
前加和后加的区别
a++和a含义不同,a++是表达式,a是变量
后++表示先让变量a的数值作为表达式的最终结果,然后让a变量自身数值加1
前++先让变量自身数值加1,然后再作为最终表达式结果
![](https://i-blog.csdnimg.cn/blog_migrate/bc37dba76815dc500216202dbdac004f.png)
逻辑运算符(实现多条件连接)
&&表示与运算,同真为真,一假为假
||或运算,一真即真
!非运算,取反
逻辑运算符的操作数均为boolean表达式
注:逻辑运算符的短路特性:
与运算,第一个表达式为假便都为假直接跳到下一步,或运算第一个表达式为真则直接为真跳到下一步
条件运算符/三目运算符:
-
条件表达式?表达式1:表达式2
-
判断条件表达式是否成立,成立执行表达式1,否则执行表达式2
赋值运算符
-
表示赋值运算符,将右边的数据赋值给左边的变量
-
赋值运算符本身也有值,其本身之值即为所赋之值
-
+=、-=、*=、/=、...
-
特别注意:
-
赋值语句最好使用 2==i;(少犯很多错误i==2容易写成i = 2造成错误)
移位运算符
<<左移运算符,用于将数据的二进制位进行向左移动,右边使用0填充(左移一位相当于当前数值*2)
>>右移运算符,用于将数据的二进制位进行向右移动,左边使用符号移动(右移一位相当于当前数值/2)
>>>逻辑右移运算符,用于将数据的二进制位进行向右移动,左边使用0填充(无符号右移)
位运算符
&表示按位与运算,按照二进制位进行与运算,同1为1,一0为0.
|表示按位或运算,按照二进制位进行与运算,一1为1,同0为0.
~表示按位取反运算,按照二进制位进行取反运算,1为0,0为1.
^表示按位异或运算,按照二进制位进行异或运算,同为0,不同为1.
运算符的优先级
![](https://i-blog.csdnimg.cn/blog_migrate/5cb8dbce5d7d476a586727809369684e.png)
确定不了优先级用括号代替