1. java操作符:几乎所有的操作符都只能操作“基本类型(primitives)”。唯一的例外是“=”、“==”和“!=”,这些能操作所有的对象。除此之外,String类还支持“+”和“+=”。
2. 优先级:操作符与括号决定表达式中计算的优先级。
3. 赋值:“=”是指“取右边的值”。明白基本数据类型与对象赋值的区别。前一个是实际数值即内容的赋值,后者是指“引用”的赋值。
4. 别名问题:对象的参数赋值—引用,引起的问题。
5. 正则表达式(regular expression):参考JDK文档中的java.util.regex.Pattern。
?表示可能有,也可能没有
\d表示一个整数,在java的字符串类型中,需在前面再加一个反斜杠来转义。
6. 一元加、减操作符(减号可用作转变数据的符号):编译器会自动判断出使用的哪一种。
7. 自增(increment)和自减(decrement):前缀式和后缀式的区别。
8. 关系操作符(relational operator)
==和!=比较的是对象的引用。比较对象的实际内容使用equals.
基本类型直接使用==和!=即可。
9. 逻辑运算符(logical operator):与(&&),或(||),非(!),这些只可应用于布尔值。
10. 短路(Short-circuiting):在进行逻辑运算时,带来的短路现象。
11. 位操作符(bitwise operator):对两个参数对应的位执行布尔代数运算,生成最终结果。
与(&):两个输入位都是1,则输出位为1,否则为0
或(|):两个输入位只要有一个是1,则输出1,只有两个输入位为0时,才输出位为0.
异或(^):两个输入位的某一个为1,不全为1,则输出位1,否则为0.
非(~):一元操作符,生成与输入位相反的值。
12. 移位操作符(shift operator):只可以用来处理整数类型(基本类型的一种)。
左移位操作符(<<):低位补0;
“有符号”右移位操作符(>>):使用了“符号扩展”,符号为正,高位插0,符号为负,高位插1,
“无符号”右移位操作符(>>>):使用了“零扩展”,无论正负,高位都插入0
13. 类型转换操作符(casting operator):Narrowing Conversion,强制我们进行类型转换,
Widening conversion,不必显式地类型转换。Java允许把任何基本数据类型转换成为别的数据类型,但布尔值除外(它不允许进行任何类型转换处理)。
14. 直接常量(Literal):十六进制数:以前缀0x或者0X来表示,后跟范围之内的数。Java中,没有二进制数常量的表示方法。直接常量后面的后缀字符标志了它的类型,若为大写或小写的L,代表long,大小或小写的F,代表float,大写或小写的D,代表Double。
15. 优先级的记忆表:Ulcer Addicts Really Like C A lot
16. 类型转换:在char、byte和short中,对它们进行算术运算时,都会获得一个Int结果。
除boolean以外,任何一种一本类型都可通过类型转换变为其他基本类型。注意“窄化转换”的结果,丢失信息的问题。
17. 流程控制:这个一般程序都会有这部分内容,大同小异,这里就不列举了。