Thinking in java 读书笔记(一、静态导入,多进制转换API)

来源:互联网 发布:网络信息安全实施方案 编辑:程序博客网 时间:2024/06/06 15:44

因为有java基础的,所以跳过了一些指导的章节,而且记录的也不会很全面,仅仅是记录下不足的java基础。
一、

    使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。    import static 包名.类名.静态成员变量;    import static 包名.类名.静态成员函数;    如下可以直接使用System的out变量:    import static java.lang.System.out;       @Test    public void test(){        out.println(Double.MIN_VALUE);        out.println(Float.MAX_VALUE);    }

二、

    八进制的写法是前缀0和后续的0-7,十六进制的写法是前缀0x和后续的0-9或者字符a-f。    可以在常量的加上数据类型后缀指定数据类型:        long n1 = 100l;        long n2 = 100L;//两者都是指定数据类型为long其他的数据类型同理

三、

    有几个重要API记忆:        Integer.toBinaryString(int)//将int装换为二进制的字符串,同理的还有十进制和十六进制的。其他的包装类也有类似方法。        Integer.paseInt(String str,int radix)//将某个String转换为int,并且可以指定进制转换        以上的方法一定要注意一个exception:NumberFormatException,虽然不是强制需要加入的exception还是要注意。

四、

    double和float数据类型在强制转换的时候忽略尾部,如果需要四舍五入调用Math.round()方法    基本数据类型运算的时候默认运算结束后表示的数据为位数长的数据,比如byte和int运算后结果为int类型数据。    这里有个重点记录:char和int之间的运算,因为char是Unicode存储,所以它和int的计算是调用字符在编码中的排序位置。    比如System.out.println('1'+1);输出结果是50.

五、

    ==和equals,==的本质是比较两个对象的引用是否相等,equals一般是重写的方法接口,用于比较对象的内容是否相等,但是要注意,equals默认是比较两个对象的引用,自己设计的时候记得重写。

六、

    有一点要注意,虽然Integer等包装类和int之类的基本数据类型是自动拆装包的,但是包装类在数值为-128到127之间是有个缓冲池。    Integer i = 11;    Integer j = 11;    System.out.println(i==j);    如果 i和j为-128-127之间则i==j为true,但是如果    Integer i = new Integer(11);    Integer j = new Integer(11);    i==j是永远为false
原创粉丝点击