java基础

来源:互联网 发布:光荣使命手游巨人网络 编辑:程序博客网 时间:2024/06/17 12:13
1、变量所占字节数:    byte:1字节    short:2字节    int:4字节    long:8字节    boolean(理论上占1bit,1/8字节,实际处理按1byte处理)    char:2字节节(C语言中是1字节)    float:4字节    doube:8字节

2、Math.abs(-2147483648) = -2147483648    整数溢出的经典例子

3、1 / 0 会产生运行时异常(它会终止程序,因为这个值是未定义的)    1.0 / 0.0 = Infinity(无穷大)       

4、Double.POSITIVE_INFINITY = Infinity(正无穷大)    Double.NEGATIVE_INFINITT = -Infinity(负无穷大)

5、a % b 的余数的定义是 (a / b) * b + a % b 恒等于 a(所以与做操作数a的符号一样)

6、java中int a[] 和 int[] a都可以声明数组

7、为什么数组的起始索引是0而不是1?    因为这样计算数组元素的地址就可以直接用数组的起始地址加上该元素的索引,不用再浪费额外的    时间来减去1

8、java实现一个数据类型时,应该也实现toString()方法,否则在使用数据类型时,如果自动调用    toString()方式时,会调用父类的toString()方法,会返回一个含有给对象内存地址的字符串。

9、java约定equals()方法必须是一种等价性关系。它必须有:    1、自反性,x.equals(x)为true    2、对称性,当且仅当y.equals(x)为true时,x.equals(y)返回true    3、传递性,如果x.equals(y)和y.equals(z)均为true,x.equals(z)也将为true。            另外,它必须接受一个Object为参数并满足以下性质    4、一致性、当两个对象均未被修改时,反复调用x.equals(y)总是会返回true    5、非空性、x.equals(null)总是返回false

10、判断两个对象是否是同一个类,用getClass()方法    1、o1.getClass() == o2.getClass();(如果o1和o2是相同的类,则getClass()方法会返回相同的    引用。                  2、o1.getClass().equals(o2.getClass());    postscript(附录):getClass()得到的类和当时new的类是一样的,不一定和引用相同。
0 0
原创粉丝点击