Java容易忽略的知识

数据类型

1.long类型数值有后缀L,float类型数值有后缀F,没有F的浮点型数值默认为double,也可以在浮点类型后加后缀D。

2.三个特殊的浮点数值:正无穷大,负无穷大,NaN(不是一个数字)。分别用常量Double.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYDouble.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核心技术》一书的阅读笔记

你可能感兴趣的:(Java容易忽略的知识)