1.运算符
1.1算术运算符:+ - * % ++ --
1.1.1 "+"
加法运算:数值加数值; 数值加字符
int a=10; a=a+1;a=a+'b'('b'参与运算的应该是'b'的Acsll码值)
连接:字符串+数值;字符串+字符串
System.out.println("abc"+3);输出为: 3abc
System.out.println("abc"+"hjk");输出为: abchjk
1.1.2" ++ --"
a++与++a的区别
单独写在一块时作用相同;
混合运算时a++时先运算,再自加;++a是先自加再运算
int a=5,y; y=a++ +1 System.out.println(a)//a=6 System.out.println(y)//a=6
int a=5,y; y=++a +1 System.out.println(a)//a=6 System.out.println(y)//a=7
1.2关系运算符: == != < > <= >= instanceof
比较运算符最终的结果都是布尔型,即就是true或者false;
“==”与“=”并不是同一个运算符;“==”是比较运算,"="是赋值运算
if(a=b);这是错误的实例 if(a==b);这是正确的使用方法
比较结果成立即就是true,不成立即就是false;
1.3逻辑运算符&—逻辑与 | —逻辑或 !—逻辑非 && —短路与 || —短路或 ^ —逻辑异或
“&”与“&&”是有区别的;
“&&”的不同之处在于左边出现false结果即为false
“|”与“||”同理“&”与“&&”;
"^"运算相同即为false;不同即为true;
1.4赋值运算符:= += -= *= = %=
=: 把等号右边的值赋给左边
+= :a += b // a=a+b
其余赋值运算符同上
short s; s=s+3;//运行时报错;(s+3)应当是int 型;而此时等号右侧s是short型;因此报错、、 s+=3;//+=符号相当于隐式默认转换;因此会默认将等号右侧的s默认转换为int
float和double类型强制转换为int型时,小数取整
float A=2.3; int b=(int)A;//b=2
1.5条件运算符 :(a>b) ? a:b;
格式为:(条件表达式)?(表达式1):(表达式2)
如果(a>b)成立,返回true;则输出a;如果(a>b)不成立,返回false;则输出b;
1.6位运算符:<< >> >>> & ^
位运算符:位指bite位;实质为二进制运算;
<< :bite 位全部左移一位
int a=10; a<<=20;//10所对应的二进制数为···00001010;左移一位之后变为00010100对应的十进制数为20;
">>>":向右移位,无符号位移时补0;
"&":
int x=3,y=4; x&4=0//3所对应的二进制码为0011;4为0100; 0011 0100 0000//两行相加,只有都为1的时候才为1
“|”:与"&"同理,有1的时候便为1;
"^":二进制码取反;



