1.如果两个对象x,y满足x.equals(y)=true,那么这两个对象的hashcode值(哈希码)一定相等;反之,却不一定。
2.char类型可以存储一个中文汉字,java中使用的编码是Unicode,一个char类型占2个字节。
3.抽象类与接口异同:
异
1).抽象类中可以定义构造器,而接口不行
2).抽象类可以有抽象方法和具体方法,而接口只有抽象方法
3).抽象类的成员变量既可以是变量也可是常量,而接口的成员变量是常量(public static final)
4).抽象类中可以有静态方法,而接口不行
同
1)不能够实例化
2)可以将抽象类和接口作为引用类型
3)一个类继承了一个抽象类或实现了一个接口,必须对其中的抽象方法全部进行实现,否则该类仍然需声明为抽象类
4.抽象方法不能被声明为static和synchronized。抽象方法需要子类重写,而静态的方法是无法被重写的;synchronized 和方法的实现细节有关, 抽象方法不涉及实现细节。
5.equals方法不能用于基本数据类型变量。如果没有对equals方法进行重写,比较的是引用类型的变量所指向的对象的地址。
6.Math.round(11.5)=12 Math.round(-11.5)=-11 原理:在参数上加0.5取整
7.switch()中的参数不能填写long型
8.String,StringBuilder与StringBuffer
1)String 是只读字符串,也就意味着 String 引用的字符串内容是不能被改变的。
2)StringBuffer/StringBuilder 表示的字符串对象可以直接进行修改。
3)StringBuffer可以在多线程环境下使用,但是效率低于StringBuilder
9.在 Java 中 无论使用何种方式进行字符串连接,实际上都使用的是 StringBuilder。
10.short s1 = 1; s1 = s1 + 1;编译错误 (s1+1为int型,需要强转)
short s1 = 1; s1 += 1;编译通过
11. 因为java是面向对象的,所以为基本数据类型提供了包装类型
12.当我们给一个 Integer对象赋一个 int 值的时候,会调用 Integer 类的静态方法 valueOf。如果整型字面量的值在-128 到 127 之间,那么不会 new 新的 Integer 对象,而是直接引用常量池中的 Integer 对象,所以 f1==f2 的结果是 true,而 f3==f4 的结果是 false。
13.数据类型之间的转换
(1)、字符串如何转基本数据类型?
调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型。
(2)、基本数据类型如何转字符串?
一种方法是将基本数据类型与空字符串(“”)连接(+)即可获得其所对应的字符串;另一种方法是调用 String 类中的 valueOf()方法返回相应字符串。
14.
15