Core Java,V1 8th读书笔记第三章

    技术2024-08-19  65

    3.1 介绍

    1 类名应该用以大写字母开头的单词,每个单词的第一个字母都应该大写

     

    3.2 注释

    1 /**/不能嵌套

     

    3.3 数据类型

    1 整型int最常用,4字节,范围2的正负15次方(20亿),超过用8字节的double

    2 绝大部分程序用double类型 8字节

    3 Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY、Double.NaN

    判断非数值用Double.inNaN(x)

    4 金融计算用BigDecimal,否则:

    System.out.println(2.0-1.1);//0.8999999999999999

    5 尽量不用char,Java使用UTF-16编码

    6 整型值和布尔值之间不能进行相互转换。

     

    3.4 变量

    1 变量声明应该靠近第一次使用它的地方, 并且最好一行只申明一个变量。

    2 final用于声明常量,常量名大写

    3 类常量在所有方法之外,public static final

     

    3.5 运算符

    1 15/7==2 15%2==1 15.0/2==7.5

    2 逻辑与和逻辑或是短路运算

    3 位运算 &与|或^异或~非>>右移<<左移

    4 Math http://download.oracle.com/javase/6/docs/api/java/lang/Math.html

       精确计算StrictMath http://download.oracle.com/javase/6/docs/api/java/lang/StrictMath.html

    5 数值转换 int 到 float 可能会丢精度 到double就不会 long到double会丢精度

    6 数值间强制类型转换会截取 而不是四舍五入 而(int)Math.round(9.977)==10

    7 布尔类型转换应该用b?1:0

    8 枚举

    enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE}; public static void main(String[] args) { System.out.println(Size.SMALL); }

     

     3.6字符串

    1 String 没有修改字符的方法

    2 字符串比较用equals

    3 http://download.oracle.com/javase/6/docs/api/java/lang/String.html

    4 许多小段构建一个字符串用StringBuilder 1.4用StringBuffer(效率略低但支持多线程)

     

    3.7 输入输出

    1 Scanner http://download.oracle.com/javase/6/docs/api/java/util/Scanner.html

    2 String.format 只格式化不输出

     

    3.8 流程控制

    1 循环中小心使用浮点数 可能条件永远不成立

    2 最好不使用switch case只能整数或枚举

    3 break可以支持标签 并用在任何语句 但只能跳出 不能跳入 最好不使用break和continue

     

    3.9 大数值

    BigInteger.valueOf(100)转为大数值

     

    3.10 数组

    1 数组大小不能改变,如需在运行时扩展,应使用ArrayList

    2

      int[] a =new int[100]; for(int e : a) { System.out.println(e); }

    3 =是浅拷贝 深拷贝需要Arrays.copyOf(原数组,新数组长度) 这种方法常用来增加数组的大小。1.4用System.arraycopy.

    4 http://download.oracle.com/javase/6/docs/api/java/util/Arrays.html

    5 多维数组是数组的数组 可以不规则

     

     

    最新回复(0)