JAVA基础知识
运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。
++,--运算符单独使用时,放在操作数前面和后面的效果是一样的。
++,--运算符参与运算时,放在操作数前面是先自增或自减,然后再参与运算;放在操作数后面先参与运算,然后再自增或自减。
short s=1;s=s+1;//有问题,会提示损失精度。
short s=1;s+=1//扩展的赋值运算符隐含了强制类型转换。
逻辑运算符:用于连接boolean类型的表达式或者值。
&逻辑与:有false为false。
|逻辑或:有true为true。
^逻辑异或:相同为false,不同为true。
&&和||具有短路效果。
&&:左边是false,则右边不执行。||:左边是true,右边不执行。
& 位与运算:有0则0。
| 位或运算:有1则1。
~按位取反运算符:0变1,1变0。
位异或的特点:一个数据位异或一个数据两次,该数不变。
用位异或实现变量交换:
a=a^b;
b=a^b;//b=a^b^b
a=a^b;//a=a^b^a
用变量相加的做法实现变量交换:
a=a+b;
b=a-b;//b=a+b-b
a=a-b;//a=a+b-a
一句话搞定:
b=(a+b)-(a=b);
左移:最高位丢弃,右边补0。
右移:最高位是0,左边补0,最高位是1,左边补1.
无符号右移:无论最高位是0或者1,左边补0.
三目运算符:表达式?表达式1:表达式2.
流程语句控制:顺序结构、选择结构、循环结构