位运算符:&、|、^、~、››、‹‹、›››
位运算图解位运算符:
计算机做的第一件事就是吧所有内容转成0和1,接着根据不同的运算符进行运算。
例子:0101,计算解释成中文时表示:好
~取反:他会比较结果1010,计算解释成中文时表示:坏
&两个进行比较,只有1和1进行比较,结果1,其余添0
|两个进行比较,只有0和0进行比较,结果0,其余添1
^两个进行比较,相同的是0,不相同是1。只有1和1进行比较,结果0;0和1、0和1比较结果1
<<左移动一位:int c=5<<2(5*2*2),向左移动两位,c=5<<3,向左移动三位,5*2*2*2
>>右移动一位:int n=5>>1(5/2,取余)向左移动一位,n=5>>2(5/2/2)向左移动两位
算术运算符:+、–、*、/、%(取余)、++、--
用于加减乘除,还有取余数。后面两个是,自增运算符和自减运算符。
例:a=2
int b=++a//先自增后赋值,b=3
int c=a--//先赋值后自减c=2
d=30%4//运算结果2。余数是2。
扩展运算符:+=、–=、*=、/=
自增减运算符(每次+1或者-1)和扩展运算符,都有个特性,数值继承,会延用上一次运算。
例子:int k=1;
int l=2;
l+=k;结果3
System.out.println("l="+l);
k+=1;结果4
System.out.println("k="+k);
l*=k+l;解释:l+=k,l=3;k+1,k=2,
System.out.println("l="+l);
解释:3*(2+3)结果是15
下面是第二种情况
int k=1;
int l=2;
l+=k;结果3
System.out.println("l="+l);
l+=1;上一个结果是3
System.out.println("l="+l);
l*=k+l;
解释:l+=k,l=3,是3+1,l=4
System.out.println("l="+l);解释:4*(1+4),结果是20
赋值运算符:=
关系运算符:›、‹、›=、‹=、!=、==、instance of
!=、==所有类型可以比较
›、‹、›=、‹=,数字大部份都可以,浮点数不行
判断结果都是boolean值,用来控制程序流程。
逻辑运算符:!、&&、||、^、|
判断结果都是boolean值
条件运算符:?:
格式:x?y:z
解释:x是boolean值,true/false。x的运算的结果是true输出y的值。x值是false输出z值。y和z可以任何想要输出的内容。可理解为if......else语句间写
字符串运算符:+
注意:字符串类型是String、不是字符型char。
两者的区别是,String是有多个组成,只能用用双引号,不能单引号。char只能是一个,只能用单引号,不能用双引号。
小技巧:在前面连接空字符串,可以变成字符串连接。
补充if...else语句中。
if的条件判断式,不能是字符串。
else里面的,只能是字符串。()