您的位置:首页 > 编程语言 > Java开发

二、Java运算符,表达式和语句

2016-07-22 23:50 302 查看

Java运算符,表达式和语句

优先级描述运算符结合性
1分隔符[](). , ;
2归类,自增减,逻辑非,正负instanceof ++ -- + -! ~右到左
3算术乘除/ %
左到右
4算术加减-
左到右
5移位运算<< >> >>>左到右
6大小关系运算< <= > >=左到右
7相等关系运算== !=左到右
8按位与&左到右
9按位异或^左到右
10按位或左到右
11逻辑与&&左到右
12逻辑或
13三目条件运算?:左到右
14赋值运算= +=右到左
注意:

a+++a 应按顺序划分:(a++)+a;

如a=1;则结果为3(1+2);

此处有坑:b=(++a)+(++a)+(++a)结果不确定,与编译器有关。

暂时理解为加号两端的表达式无法确定先计算哪个。

&& ||为逻辑与,也成短路与,a&b中如果a为false,则b不再执行。

& | 为按位与,a&b中即使aweifalse,b仍然计算。

语句中,do-while为:

do{;}while(true);

我们在Android依赖库中使用switch-case语句访问资源ID时会报错误,报的错误是case分支后面跟的参数必须是常数,换句话说出现这个问题的原因是Android library中生成的R.java中的资源ID不是常数。可用if-else代替。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: