Java容易忽略的知识

作者: 沉默的叔叔 | 来源:发表于2016-11-11 22:03 被阅读163次
    数据类型

    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容易忽略的知识

        本文链接:https://www.haomeiwen.com/subject/vrkfpttx.html