运算符
1、算术运算符:+、-、*、/、%、++、--
(1)+:表示加法,例:3+5=8; 表示字符串的连接符,例”hello”+’a’+1=helloa1, ‘a’+1+“hello”=98hello。
(2)-:表示减法,例5-2=3。
(3)*:表示乘法,例2*3=6。
(4)/: 表示除法,取商,例5/2=2。
(5)%:表示模,取余,例5/2=1。
(6)++:表示自增。单独使用是加一,例a=3,a++、++a中a的值都加1,得a=4。在运算中例b=a++中,a先将值赋予b,再自增1,结果a=4,b=3;b=++a中a先自增1,再把值赋予b,结果为a=4,b=4。
(7)--:使用方法和++一样。
2、赋值运算符:=、+=、-=、*=、/=、%=
(1)=:int a = 5,将右边的值5赋给左边的a。
(2)+=:a+=2,就是a=a+2;
short a =2;short a=a+2 与short a+=2是有区别的:
short a=a+2 可能损失精度,而short a+=2就相当于short a=short(a+2)没问题。
(3)-=:使用方法和+=一样。
3、逻辑运算符 &(与)、|(或)、^(异或)、!(非)&&(与,有短路)||(或,短路)
(1)&:与关系运算符, true&true为true,true&false为false,false&true 为false,false&false为false。
(2)|:或关系运算符 有一个为真,则为真。
(3)^:异或,两个一样则为假,不一样为真,
(4)!:非。
(5)&&:与, &&和&的区别是 boolean a = true;
boolean b=true;boolean c=(a=false & b=false) 输出a、b的结果为a=false b=false;而boolean c=(a=false &&b=false)输出的a、b的结果为a=false,b=true,当a错误时就停止了。 而&不停止。
(6)||:或。使用方法和&&一样。
4、关系运算符 <、>、 ==、!=、<=、>=
(1)!=:不等于
(2)==:等于
5、位运算符(位运算符直接对二进制运算)
>>>、<<、>>、&、|、~、^
(1)>>:右移 3>>1 00000000 000000000 00000000 00000011向右移动一位,左边补0,符号位是1的补1,移动后为00000000 00000000 00000000 00000001 结果为1。
(2)<<:左移 3<<2 00000000 00000000 00000000 00000011向左移动2位,移动后00000000 00000000 00000000 00001100,结果为12.
(3)>>>:不带符号的右移;3>>>1,结果为1。
(4)&:与运算 都为1为1,否则为0
6&3 6的二进制 00000000 00000000 00000000 00000110
3的二进制 00000000 00000000 00000000 00000011
结果为 00000000 00000000 00000000 00000010 十进制2.
(5)|:或运算 有一个为1则为1. 6|3=7
(6)^:异或运算 不同为1,相同为0
(7)~:反码 ~6=-7
6的原码、反码、补码 00000000 00000000 00000000 00000110
~6的补码为 11111111 11111111 11111111 11111001
~6的反码为补码-1 11111111 11111111 11111111 11111000
~6的原码为 10000000 00000000 00000000 00000111
就是十进制-7.
6、三目运算符
(关系表达式)?表达式1:表达式2;
如果条件为真,运算后的结果为表达式1;
如果条件为假,运算后的结果为表达式2;
Int x=3,y=4,z;z=(x>y)?X:y; 结果为z=4. |
|