- 算数运算符:
"+"、"-"、"*"、"/"、"%"、"++"、"--"
只有基本数据类型能使用算数运算
"+"号:
- "+"号两边是基本数据类型,运算结果就是相加;如:1+1=2
- "+"号两边有任何一边是字符串,就是拼接;如:"aaa"+"b" = "aaab" "aa"+1 = "aa1"
"-"号:减号没有什么特别的运算,就是相减。
"*"号:乘法运算
"/"号:除法运算
"%"号:取余;如:8%3=2
"++"号(自增):
- 加加号一般配合变量使用,如果加加号在变量前,变量先自增1次,再做其他运算
- 加加号如果在变量后面,变量先做其他运算,在自增1次。
"--"号(自减):减减号同样也是配合变量使用,与加加号同理。
- 复制运算符:
"="号:一般配合变量使用,把等号右边的值赋值给等号左边的变量
- 关系运算符:
">"、"<"、">="、"<="、"=="、"!="、"instantof"
关系运算符的返回值(结果)是一个boolean类型的值,一般配合流程控制语句使用。
">"号:大于号左边的大于右边的返回true,否则返回false
"<"号:与大于号相反
">="号:大于等于号左边的值大于右边的返回true,否则返回false
"<="号:与大于小于号相反
"=="号:判断"=="号左右两边的值是否相等,如果相等返回true,否则返回false
"!="号:与"=="号相反
"instantof":两边数据类型是否一致,如果一致返回true,否则返回false,一般用来判断引用数据类型
- 逻辑运算符:
"&"、"&&"、"|"、"||"、"^"、"!"
"&"号:逻辑与,相当于数学中的交集,左右两个表达式只要有一个为假,就返回false,否则返回true
"&&"号:短路与,同样相当于数学中交集,但是效率比单个与高,如果左边的表达式为假就不会执行后面的表达式,直接返回false
"|"号:逻辑或,左右两个表达式只要有一个为真,就返回true,否则返回false
"||":短路或,与短路与相反,效率比单个或高,如果左边的表达式为真就不会执行后面的表达式,直接返回true
"^"号:异或,左右两边表达式一个为真,一个为假,返回true,否则返回false
"!"号:逻辑非,对表达式取反,如:!(3>2)的值为false
- 位运算符:
"&"、"|"、"^"、"~"、"<<"、">>"、">>>"
一般只有两个数字左位运算,为运算把两个数字底层转换成二进制,再做运算,运算完成后再转换成十进制。(二进制中,1为真,0为假)
"&"号:与运算,全真为真,见假为假
"|"号:或运算,见真为真,全假为假
"^"号:异或号,相同为0,不同为1
"~" 号:按位取反,0变1,1变0
"<<"号:按位左移,左移n就是乘n个2,如:1<<5=32 ; -1<<5=-32
">>"号:右移,右移n就是除以n个2,如:32>>3=4; -32>>3=-4
">>>"号:无符号右移,如:32>>>2=8
- 扩展运算符:
"+="、"-="、"*="、"/="、"%="
"+="号:先加后赋值
"-="号:先减后赋值
"*="号:先乘后赋值
"/="号:先除后赋值
"%="号:先取余(取模)后赋值
- 三元运算符:
"? :" 号:运算符之间有三个内容,如:a>b ? a++ : b++ 理解:a是否大于b,如果大于a自增,否则b自增
- 运算符优先级: