二、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代替。
相关文章推荐
- myeclipse项目导入eclipse方法
- java循环遍历的做法
- 使用jdk1.8出现有些类can not be resolved的情况
- Java的注解机制——Spring自动装配的实现原理
- java关于获取当前时间及其昨天时间的用法
- javaee之session的购物车练习
- javaee之cookie和session的见解和练习
- Java 内存区域和GC机制
- java String.split()函数的用法分析
- List笔记
- java中选择排序,冒泡排序和二分法查找学习记录
- myeclipse添加源码支持
- 双色球机选号码生成器(java)
- JAVA面向对象-----封装
- JAVA面向对象-----封装
- java回调机制
- 自己动手写javaweb mvc框架 之 项目准备
- Spring mvc基本概述
- 根据身份证前17位分析(java)
- There are no resources that can be added or removed from the server.