常用的包
java.lang包
该包是]ava语言的核心包,并且该包中的所有内容由Java虚拟机自动导入。
如:System类,String类
java.util包
该包是java语言的工具包,里面提供了大量工具类以及集合类。
如:Scanner类、Random类、List集合
java.io包
该包是Java语言中的输入输出包,里面提供了大量读写文件相关的类。
如:FileInputStream类、File0utputStream类
java.net包
该包是Java语言中的网络包,里面提供了大量网络编程相关的类。
如:ServerSocket类,Socket类
Object类
Object类是所有类的根类,所有类是Object类的直接子类或间接子类
常用方法:
boolean equals(Object obj)用于判断调用对象是否与参数对象相等,该方法默认比较两个对象的地址,若希望比较两个对象的内容,则需要重写该方法。若该方法重写时,应该重与hashncode方法
== 和 equals() == :基本数据类型,比较的是数值的大小 引用数据类型,比较的是引用的地址 equals默认比较两个对象的地址,若想要比较两个对象的内容时需要重写这个方法
int hashCode()用于获取调,用对象的哈希码值(内存地址的编号)
若两个对象调用equals方法的结果相同,则各自调用hashCode方法的数值必须相等
若两个对象调用equals方法的结果不同,则各自调用hashCode方法的数值应该不相等
String toString()用于返回调用对象的字符串形式
默认字符串的内容有:包名.类名@哈希码值的无符号十六进制形式
使用print()或println()打印或+拼接时,都会自动调用toString方法
包装类
通常情况下基本数据类型的变量不是对象,为了满足万物皆对象的理念就需要对基本数据类型的 变量进行打包封装处理变成对象,而负表将这些变量声明为成员变量进行对象化处理的相关类,叫做包装类。
常用的包装类
int => java.lang.Integer类 char =>java.lang.Character类其它类型都是将首字母改为大写即可
数字处理类
BigDecimal类基本概念 由于float类型和double类型在运算时可能会有误差,若希望实现精确运算则借助java.math.BigDecimal类型加以描述
String类
常量池(原理)由于string类型描述的字符串内容是个常量不可改变,因此Java虚拟机将首次出现的字符串放入常量中,若后续代码中出现了相同的字符串内容则直接使用池中已有的字符串对象而无需申请内存以及创建对象,从而提高了性能。
StringBuilder类StringBuffer类
日期相关的类
Date类java.util.Date类主要用于描述特定的瞬间,也就是年月日时分秒,可以精确到毫秒
可变参数
一个方法中定义完了参数,则在调用的时候必须传入与其一一对应的参数,但是在JDK 1.5之后提供了新的功能,可以根据需要自动传入任意个数的参数。 语法: 返回值类型 方法名称(数据类型...参数名称){ //参数在方法内部,以数组的形式来接收 }
!!!可变参数只能出现在参数列表的最后