数据类型
1.long类型数值有后缀L,float类型数值有后缀F,没有F的浮点型数值默认为double,也可以在浮点类型后加后缀D。
2.三个特殊的浮点数值:正无穷大,负无穷大,NaN(不是一个数字)。分别用常量Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY和Double.NaN表示。
3.整数被0除将会产生一个异常,而浮点数被0除将会得到无穷大(Infinity)或NaN结果。
4.浮点数值不适用于禁止出现舍入误差的金融计算中,如System.out.println(2.0-1.1)将打印0.8999999999999999。因为浮点数值采用二进制系统表示,而二进制系统中无法精确的表示分数1/10,就好像十进制无法精确表示1/3一样。
5.十六进制数值有一个前缀0x,八进制数有一个前缀0,Java7开始加上前缀0b就可以表示二进制数。
6.Java没有任何无符号类型(unsigned)。
运算符
1.&&和||按照“短路”方式求值,&和|运算符应用于布尔值得到的结果也是布尔值,其运算和&&和||相似,但不按“短路”方式计算。
2.+=是右结合运算符,所以表达式a += b +=c等价于a += (b += c)
字符串
1.使用length和charAt方法时,length返回的是UTF-16编码表示下的代码单元数量,而非我们所认为的字符的个数,charAt方法返回的是指定位置处的代码单元,而非我们所认为的字符。
2.由较短字符串构建字符串时,用字符串连接效率很低,每次都会构建一个新的String对象,耗时而且浪费空间,可以使用StringBuilder避免,代码如下:
StringBuilder builder = new StringBuilder();
builder.append("Hello");
builder.append("World");
String str = builder.toString();
控制流程
1.通用for循环,Java SE 5.0新增的一种循环结构,更不易出错,语句格式与例子如下:
for(variable : collection) statement
for(int element : a)//a是一个数组
System.out.printf("element");
本文仅属于阅读《Java核心技术》一书的阅读笔记