黑马程序员技术交流社区

标题: 运算符 [打印本页]

作者: bulala    时间: 2015-12-8 21:18
标题: 运算符
算术运算符易错点:
-1%5=-1;
1%-5=1;
int a=3,b;
b=a++;
System.out.println(a);-->4
System.out.println(b);-->3
注:字符串和任何数据使用“+”都是相连接,最终都会变成字符串。
eg:System.out.println(“5+5=”+5+5);-->5+5=55;
System.out.println(“5+5=”+(5+5));-->5+5=10;

赋值运算符:
+=  -=  *=  /=  %=
eg:x+=4-->x=x+4
易错点:short s=3;
s=s+2;-->编译失败,因为s会被提升为int类型,运算后结果还是int型。无法赋值给short型。
s+=2;-->编译通过;因为+=运算符在给s赋值时,自动完成了强转操作。

比较运算符:
instanceof 检查是否是类的对象
eg: "hello" instanceof String -->true;

逻辑运算符:
易错点:异或(^)与或(|)的不同之处是:当都为true时异或是false而或是true。

位运算符:
<<(左移):其实就是乘以2的移动的位数次幂;
eg:3<<1 --> 3*2^1=6;3<<2 --> 3*2^2=12  左移越移越大
>>(右移):其实就是除以2的移动的位数次幂;  右移越移越小
注:>>最高位补什么由原有最高位而定。
>>>(无符号右移)无论最高位是什么,右移后都用0补。

三元运算符:
格式:(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2