常用类
常用的包java.lang包-该包是Java语言的核心包,并且该包中的所有内容由Java虚拟机自动导入。
-如:System类、String英、…
java.util包-该包是Java语言的工具包,里面提供了大量工具类以及集合类。
-如:Scanner类、Random类、List集合、…
java.io包-该包是Java语言中的输入输出包,里面提供了大量读写文件相关的类。
-如:FileInputStream类、FileOutputStream夹、…
java.net包-该包是Java语言中的网络包,里面提供了大量网络编程相关的类。
-如:ServerSocket类、Socket类、 ….
Object类
(1)基本概念java.lang.Object类是|ava语言中类层次结构的根类,也就是说任何一个类都是该类的直接或者间接子
类
(2)常用的方法(重点)
boolean equals(Object obj)
- 用于判断调用对象是否与参数对象相等。
- 该方法默认比较两个对象的地址,与 == 的效果等价。
- 若希望比较两个对象的内容,则需要重写该方法。
- 若该方法重写时,应该重写hashCode方法。
int hashCode()
- 用于获取调用对象的哈希码值(内存地址的编号)
- 若两个对象调用equa1s方法的结果相同,则各自调用hashCode方法的数值必须相等。
- 若两个对象调用equals方法的结果不同,则各自调用hashCode方法的数值应该不相等。
String toString()
- 用于返回调用对象的字符串形式。
-默认字符串的内容有:包名.类名@哈希码值的无符号十六进制形式
-为了返回更有意义的数据内容需要重写该方法。
- 使用print()或println()打印或+拼接时,都会自动调用toString方法。
- 根据参数指定的整数来构造对象
根据参数指定的字符串来构造对象
获取调用对象中的整数值并返回
- 根据参数指定整数值得到Integer类型对象
- 将字符串类型转换为int类型并返回
-
-
练习:编程实现Student类的封装,特征:学号(id)和姓名,要求提供打印所有特征的方法。编程实现StudentTest
类,在main方法中使用有参方式构造两个Student类型的对象并打印特征。
包装类
Person p= new Person()-表示声明Person类型的引用指向Person类型的对象,p代表对象int num=10 ;- 表示
声明一个int类型的变量num初始值为10,num不代表对象Java语言是一门纯面向对象的编程语言,万物皆对象!
包装类的概念通常情况下基本数据类型的变量不是对象,为了满足万物接对象的理念就需要对基本数据类型的变
量进行打包封装处理变成对象,而负责将这些变量声明为成员变量进行对象化处理的相关类,叫做包装类。
常用的包装类 int=>java.lang.lnteger类char=>java.lang.Character类其它类型都是将首字母改为大写即可
Integer类(1)基本概念java.lang.Integer类内部包装了一个int类型的变量作为成员变量,主要用于实现对int类型
的包装并提供int类型到String类之间的转换等方法。
(2)常用的方法
Integer (int value)
Integer (String s)
int intValue ()
static Integer valueOf (int i)
static int parseInt (String s)
注意:JDK 5发布之前使用包装类对象进行运算时,需要较为繁琐的“拆箱”和“装箱”操作,JDK5增加了自动“装箱”
和“拆箱”的功能。
数学处理类
BigDecimal类(1)基本概念由于float类型和double类型在运算时可能会有误差,若希望实现精确运算则借助
java.math.BigDecimal类型加以描述。
(2)常用的方法
BigDecimal(String val) - 根据参数指定的字符串来构造对象
用于实现加法运算
BigDecimal subtract(BigDecimal sub)- 用于实现减法运算
BigDecimal multiply(BigDecimal mul)- 用于实现乘法运算
- 用于实现除法运算
- 向最接近的数字舍入,“四舍五入”;
BigDecimal add (BigDecimal add)
-
BigDecimal divide (BigDecimal div)
static int ROUND_HALF_UP
String类(重点)
java.lang.String类主要用于描述字符串内容,Java程序中所有字符串字面值都可以使用该类的实例(对象)加以描
述,如:“abc"等。该类由final关键字修饰表示该类不能被继承。该类描述的字符串内容是个常量不可改变,因此
可以被共享。如:String str1="abc" ;- 其中"abc"这个字符串是个常量不可改变,但str1的数值可以改变str1=
"123” ;- 表示将“123”字符串的地址赋值给变量str1,覆盖str1中原来的数值
-也就是改变str1的指向并没有改变指向的内容
常量池(原理)
String str1 = "abc";
String str2 = "123";
//比较str1 == str2
String str3 = "abc";
//比较str1 == str3
由于String类型描述的字符串内容是个常量不可改变,因此Java虚拟机将首次出现的字符串放入常量中,若后续代码中
出现了相同的字符串内容则直接使用池中已有的字符串对象而无需申请内存以及创建对象,从而提高了性能。
常用的方法(练熟)
String ()
String(byte[] bytes, int offset, int length) - 使用bytes数组中下标从offset位置开始的length个
字节来构造对象
使用bytes数组中的所有内容构造对象
根据参数指定的字符串内容来构造对象,新创建对象为参数对象的副本。
- 方法charAt用于返回字符串指定位置的字符。index表示指定的位置
返回字符串字符序列的长度
boolean contanins(Charsequence s) - 用于判断当前字符串是否包含参数指定的内容
返回字符串的小写形式
- 返回字符串的大写形式
- 返回去掉签到和后继空白的字符串
判断字符串是否以参数字符串开头
boolean endsWith(String suffix) - 判断字符串是否以参数字符串结尾
-
使用无参方式构造对象得到空字符序列
String (byte[] bytes)
String (String str) -
char charAt (int index)
int length ()
String toLowerCase ()
String toUpperCase ()
String trim()
boolean startsWith (String prefix)
-
-
-
-
StringBuilder (String str)
int capacity ()
int length () -
StringBuilder类和StringBuffer类(重点)
基本概念由于String类描述的字符串内容是个常量,不可改变,当需要在Java代码中描述大量类似的字符串时,只
能单独申请和存储,此时会造成内存空间的浪费。为了解决上述问题,可以使用java.lang.StringBuilder类和
StringBuffer 类来描述字符序列可以改变的字符串,如:"ab","abc","abcd"。其中StringBuffer类是从jdk1.0开
始存在,属于线程安全的类,因此效率比较低;其中StringBuilder类是从jdk1.5开始存在,属于非线程安全的类,
因此效率比较高;
常用的方法(练熟)
StringBuilder
StringBuilder()- 构造一个不带任何字符的字符串生成器,初始容量为16个字符
- 构造一个字符串生成器,并初始化为指定的字符串内容
- 返回当前容量
返回长度(字符数)
StringBuilder insert (int offset, String str)
- 插入字符串
-
StringBuffer
StringBuilder reverse ()
int indexOf (String str)
上同
StringBuilder append(String str) - 追加字符串
StringBuilder delete(int start, int end) - 删除字符串,前闭后开区间
StringBuilder replace(int start, int end, String str) -##
- 字符串反转
查找字符串出现的位置
日期相关的类(会用即可)
Date类
(1)基本概念java.util.Date类主要用于描述特定的瞬间,也就是年月日时分秒,可以精确到毫秒。
(2)常用的方法
Date() - 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date(long date)-分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970
年1月1日 00:00:00 GMT)以来的指定毫秒数
long getTime()-返回自 1970年1月1日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
void setTime(long time)- 设置此 Date 对象,以表示1970年1月1日 00:00:00 GMT 以后 time 毫
秒的时间点。
SimpleDateFormat
(1)基本概念java.text.SimpleDateFormat类主要用于实现日期类型和文本类型之间的转换。
(2)常用的方法
SimpleDateFormat()-用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern) -用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
可变参数
一个方法中定义完了参数,则在调用的时候必须传入与其 -- 对应的参数,但是在JDK 1.5之后提供了新的功能,可以根
据需要自动传入任意个数的参数。
语法:
返回值类型 方法名称(数据类型 ... 参数名称){
//参数在方法内部,以数组的形式来接收
}
注意:
可变参数只能出现在参数列表的最后。