一、API
应用程序接口,泛指Java中的类和接口、方法。JDK提供了官方的API帮助文档
二、Math类
abs:绝对值方法
sin 、cos、asin、acos
toRadians: 角度角转弧度角
toDegrees :弧度角转角度角
pow :计算次幂
random: 获得0~1 不包含1的一个随机小数
round :四舍五入取整
sqrt :根号
三、Object类
clone : 复制一个对象获得一个新的对象,克隆的对象的类一定要实现Cloneable接口
finalize() : 当垃圾回收器要回收一个对象时,由垃圾回收器调用这个对象的finalize方法完成回收。开发人员可以通过重写finalize方法实现在回收对象时做的一些自定义功能。
//克隆的对象实现Cloneable接口
public class Person implements Cloneable{
String name;
@Override
protected Object clone() throws CloneNotSupportedException {
// TODO Auto-generated method stub
return (Person)super.clone();
}
//将所有回收的Person对象的id属性,写到一个日志中
//重写方法
@Override
protected void finalize() throws Throwable {
// 将this的id记录到日志中
super.finalize();
}
}
hashCode() : 返回对象的哈希码值 ,JVM会通过哈希算法将对象较长的内存地址计算出一个较短的内存地址值
四、包装类
八个基本类型的包装类。(类型名首字母大写,特殊:int 和 char)
byte : Byte
short : Short
int : Integer
long : Long
float : Float
double : Double
char : Character
boolean : Boolean
五、Integer类的使用
//创建Integer对象
Integer integer1 = new Integer(3);
System.out.println(integer1.toString());
//先将“3” 解析为 int 的 3 赋给int value属性
Integer integer2 = new Integer("3");
System.out.println(integer2);
常用的方法:
1. intValue : 返回Integer对象中封装的int值
2. parseInt :静态方法,将一个字符串解析为int值,要求字符串一定是整数格式的字符串
String s = "123";
//可能会出现 NumberFormatException
//Integer.parseInt("a"); //错误
//Integer.parseInt("123.5"); //错误
int i = Integer.parseInt(s);
System.out.println(i+1); //124
3. 获得整数的二进制、八进制、十六进制的字符串形式
//获得整数的二进制
System.out.println(Integer.toBinaryString(12)); //1100
//十六进制
System.out.println(Integer.toHexString(15));//十六进制 f
经常将一个int值封装为Integer类型(引用类型,存的是地址),或将Integer对象获得其封装的int值,编程时有些麻烦,new Integer 或 调用 intValue方法
六、自动拆、装箱方式
//运行时 等同于 Integer i = new Integer(3);
//自动装箱
Integer i = 3;
//自动拆箱 等同于 int j = 3;
int j = new Integer(3);
public class TestInteger {
public static void main(String[] args) {
//自动装箱
method(3);
//等同于
method(new Integer(3));
}
public static void method(Object obj) {
}
}
例:判断代码的输出结果:
Integer i1 = new Integer(3);
Integer i2 = new Integer(3);
System.out.println(i1==i2); //false
System.out.println(i1.equals(i2)); //true
int i3 = new Integer(3);
int i4 = new Integer(3);
System.out.println(i3==i4); //true
Integer i5 = 300;
Integer i6 = 300;
System.out.println(i5==i6); //false
//常量池:存储常量且是对象 ,常量池中整数常量的范围是-128~127 ,在这之外的常量,创建对象存储在堆中
//常量池有共享的特点,常量池中有30的整数常量,再次使用这个常量就不在创建新的常量对象了
Integer i7 = 127;
Integer i8 = 127;
System.out.println(i7==i8); //true
包装类重写了equals方法,比较的是封装的基本类型值是否相等
String类重写了equals方法
本文介绍了Java中的API概念,重点剖析Math类的常用数学方法如绝对值、三角函数、数据转换和随机数生成。同时讲解了Object类的clone和finalize方法,以及Integer类的包装和自动拆装箱。最后讨论了包装类的应用和哈希码计算。
3343

被折叠的 条评论
为什么被折叠?



