1.Java支持如下运算符:
(1)算数运算符:+、-、*、/、%、++、--。(加,减,乘,除,取余,加加,减减)
(2)关系运算符:>,<,>=,<=,==,!=。(大于,小于,大于等于,小于等于,等于,不等于)
(3)赋值运算符:=,+=,-=,*=,/=,%=等。(赋值,加等,减等,乘等,除等,取余等等等)
(4)逻辑运算符:!,&,|,&&,||(非,与,或,短路与,短路或)
(5)位运算符:~(按位取反),&,|,^(异或),>>(右移),<<左移(),>>>(无符号右移)
(6)注意:有些有些编程语言个别含义不同
2.算数符又可分为三类:
单目运算符,双目运算符,三目运算符,(一个运算符需要多少个值就是多少目)
(1)Java中使用的个别案例:
--、++
++:自加1
++的作用:int a=1;
则取值时如果值是a++那么a还是1下次取值才是2;
取值时如果值是++a那么是2;
--:
同理:
则取值时如果值是a--那么a还是1下次取值才是0;
取值时如果值是--a那么是0;
++、--都可以重复使用:例如a++++++;a------
(2)在Java中存在着这样一类操作符,是针对二进制进行操作的。它们各自是&、|、^、~、>>、<<、>>>几个位操作符。不管是初始值是依照何种进制,都会换算成二进制进行位
操作。接下来对这几种操作符进行一下简单的解说。
&:
作用是对运算符两側以二进制表达的操作符按位分别进行'与'运算。而这一运算是以数中同样的位(bit)为单位的。操作的规则是:仅当两个操作数都为1时。输出结果才为1。否
则为0,示比例如以下:
12 的二进制为 1100
5 的二进制为 0101
则 12 & 5 的二进制为 0100,则完整的运算式为 12 & 5 = 4;
|:
作用是对运算符两側以二进制表达的操作符按位分别进行'或'运算。而这一运算是以数中同样的位(bit)为单位的。
操作的规则是:仅当两个操作数都为0时,输出的结果才为0。
否则为1,示比例如以下:
12 的二进制为 1100
5 的二进制为 0101
则 12 | 5 的二进制为 1101。则完整的运算式为 12 & 5 = 13;
^:
作用是对运算符两側以二进制表达的操作数按位分别进行'异或'运算,而这一运算是以数中同样的位(bit)为单位的。
异或运算操作的规则是:仅当两个操作数不同一时候。对应的
输出结果才为1,否则为0,示比例如以下:
12 的二进制为 1100
5 的二进制为 0101
则 12 | 5 的二进制为 1001。则完整的运算式为 12 & 5 = 9;
~:
'取反'运算符~的作用是将各位数字取反:全部的0置为1,1置为0,示比例如以下:
12 的二进制为 1100
进行取反操作为 10000000 00000000 00000000 00001101
则完整的运算式为 ~12 = -13
<<:
左移就是把一个数的全部位数都向左移动若干位,示比例如以下:
12 的二进制为 1100
则 12 << 1 的二进制为 11000, 则完整的运算式为 12 << 1 = 24;
>>:
右移就是把一个数的全部位数都向右移动若干位,示比例如以下:
12 的二进制为 1100
则 12 >> 1 的二进制为 0110。 则完整的运算式为 12 >> 1 = 6;
>>>:
无符号右移一位。不足的补0。 示比例如以下:
12 的二进制为 1100
则 12 >> >1 的二进制为 0110, 则完整的运算式为 12 >> 1 = 6;
3.Java表达式
表达式是符合一定语法规则的运算符和操作数的组合,值得的注意的是单个操作数也是表达式;
例如:x
y*5
(a-b)*c-4
(x>y)&&(m<=n)
表达式的值:对表达式中的操作数进行运算得到的结果
表达式类型:表达式的值的数据类型即为表达式的 类型。
4.表达式的运算顺序: