Java基础知识之运算符
运算符用于对数据进行算数运算、赋值、和比较等操作,Java中运算符分为:算数运算符,赋值运算符,比较运算符,逻辑运算符和位运算符。
- 算数运算符
数学中常用加减乘除,被称作为四则运算。Java中的算术运算就是用来处理四则运算的符号
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| + | 加 | 1 + 1 | 2 |
| - | 减 | 5 - 2 | 3 |
| * | 乘 | 5 * 8 | 40 |
| / | 除 | 10 / 2 | 5 |
| % | 取余 | 5 % 2 | 1 |
1:在进行除数运算时,除数和被除数都为整数时,得到的结果也是一个整数。如果除法运算有小数参与,得到的结果也是一个小数
2:取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。
例如:(-10)%3=-2,10%(-3)=2
- 赋值运算符
赋值运算符用" = "表示,其作用是将右边的值赋值给左边的操作数
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| == | 赋值 | a=10,b=20 | a=10,b=20 |
| += | 加等于 | a=10,b=20,a+=b | a = 30 |
| - = | 减等于 | a=10,b=20,b-=a | b = 10 |
| *= | 乘等于 | a=2,b=5,a*=b | b = 10 |
| /= | 除等于 | a=10,b=2,a/=b | a = 5 |
| %= | 模等于 | a=3,b=2,a%=b | a = 1 |
- 自增和自减运算符
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| ++ | 自增前 | a=1,b=++a | a=2,b=2 |
| ++ | 自增后 | a=1,b=a++ | a=2,b=1 |
| -- | 自减前 | a=2,b=--a | a=1,b=1 |
| -- | 自减后 | a=2,b=a-- | a=1,b=2 |
进行自增和自减运算时,运算符++和–放在操作数的前面则是先进行自增或自减运算,在进行其他运算。反之,运算符放在操作数的后面则是先进行其他运算再进行自增或自减运算。
- 比较运算符
比较运算符用于对两个数值或变量进行比较。比较结果是一个boolean值
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| == | 向等于 | 1 == 2 | false |
| != | 不等于 | 1!= 2 | true |
| < | 小于 | 1 < 2 | true |
| > | 大于 | 1 > 2 | false |
| <= | 小于等于 | 1 <= 2 | true |
| >= | 大于等于 | 1 >= 2 | false |
- 逻辑运算符
逻辑运算符用于对布尔型数据进行操作,其结果是一个布尔值
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| & | 与 | true&true,true&false,false&false | true,false,false |
| | | 或 | true|true,true|false,false|false | true,true,false |
| ^ | 异或 | true ^ true,true ^ false,false ^ false | false,true,false |
| ! | 非 | !true,!false | false,true |
| && | 短路与 | true&&true,true&&false,false&&false,false&&true | true,true,false,false |
| || | 短路或 | true||true,true||false,false||false,false||true | true,true,false,true |
1.逻辑运算符可以针对结果为布尔值的表达式进行计算,如:y>10&&y!=0
2.运算符&和&&都表示与操作,当且仅当运算符两边的表达式都为true,其结果为true,否者为false,两者区别在于,&进行运算时,不论左边为true或者false,右边表达式都会进行计算。而&&进行运算时,当左边为false时,右边表达式不会进行运算,因此&&被称为短路与
3.运算符 | 和 || 都表示或操作,当运算符两边的操作数任何一方的值为true,其结果为true,当两边的值都为false是,结果才为false。通与操作类似,|| 表示短路或,当运算符左边为true,右边的表达式不会进行运算
4.运算符^表示异或,当运算符两边的表达是相同时(true或false),其结果为false,两边布尔值不相同时,结果为true。
- 位运算符
位运算符时针对二进制的没一位进行运算的符号,针对数字0和1进行操作
| 运算符 | 运算 | 范例 | 结果 |
|---|---|---|---|
| & | 按位与 | 0&0,0&1,1&1,1&0 | 0,0,1,0 |
| | | 按位或 | 0|0,0|1,1|1,1|0 | 0,1,1,1 |
| ~ | 取反 | ~0 ,~1 | 1,0 |
| ^ | 按位异或 | 0^0,0^1,1^1,1^0 | 0,1,0,1 |
| << | 左移 | 00000010<<2 | 00001000 |
| >> | 右移 | 11100010>>2 | 11111000 |
| >>> | 无符号右移 | 01100010>>>2 | 00011000 |
- 运算符的优先级
加油吧!!!