2019-08-04Java专项练习——刷题笔记
1.重载
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
原则如下:
原则如下:
- 方法名一定要相同。
- 方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
- 如果参数个数不同,就不管它的参数类型了。
- 如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
- 方法的返回类型、修饰符可以相同,也可不同。
2.String编码转换
将字符串以其自身编码方式分解为字节数组,再将字节数组以你想要输出的编码方式重新编码为字符串。
例:String newUTF8Str = new String(oldGBKStr.getBytes("GBK"), "UTF8");
例:String newUTF8Str = new String(oldGBKStr.getBytes("GBK"), "UTF8");
3.UTF-8
UTF-8编码下,一个中文占3个字节,一个英文占1个字节。
4.三元操作符类型的转换规则
- 若两个操作数不可转换,则不做转换,返回值为Object类型。
- 若两个操作数是明确类型的表达式(比如变量),则按照正常的二进制数字来转换,int类型转换为long类型,long类型转换为float类型等。
- 若两个操作数中有一个是数字S,另外一个是表达式,且其类型标示为T,那么,若数字S在T的范围内,则转换为T类型;若S超出了T类型的范围,则T转换为S类型。
- 若两个操作数都是直接量数字,则返回值类型为范围较大者
5.负数补码
int i = 10;10原码:0000000000000000, 0000000000001010
~10: 1111111111111111,1111111111110101 变为负数,计算机用补码存储
~10反码:10000000000000000,0000000000001010
~10补码:10000000000000000,0000000000001011,等于 -11
6.四种引用
- 强引用:一个对象赋给一个引用就是强引用,比如new一个对象,一个对象被赋值一个对象。
- 软引用:用SoftReference类实现,一般不会轻易回收,只有内存不够才会回收。
- 弱引用:用WeekReference类实现,一旦垃圾回收已启动,就会回收。
- 虚引用:不能单独存在,必须和引用队列联合使用。主要作用是跟踪对象被回收的状态。