1、StringBuffer类
StringBuffer sb=new StringBuffer();
(1)字符串连接操作
使用append()方法可以进行字符串连接,声明对象就可以直接调用 sb.append("")
(2)在任意位置处为StringBuffer添加内容
sb.insert(index," ")
(3)字符串反转操作
在StringBuffer中专门提供了字符串反转的操作方法,所谓的字符串反转就是逆输出。
String str =sb.reverse().toString();
(4)替换指定范围的内容
String中替换用replaceAll()方法,StringBuffer中替换使用replace()方法。
sb.replace(index1,index2,"")
(5)字符串截取
使用substring()方法直接从StringBuffer的指定范围中截取出内容。
String str =sb.substring(index1,index2,"")
(6)删除指定范围的字符串
delete()方法
String str=sb.delete(index1,index2).toString(); //返回的是删除的内容
(7)查找指定的内容是否存在
通过indexOf()方法可以查找指定的内容,如果找到了,返回内容位置,如果没有,返回-1.
2、Runtime类
表示Runtime类表示运行时操作类,是一个封装了JVM进程的类,每一个JVM都对应着一个Runtime类的实例,则可以通过Runtime取得一些系统
Runtime run=Runtime.getRuntime(); //因为Runtime类本身的构造方法是私有化的,所以调用静态的getRuntime()方法来创建实例。
(1)getRuntime() 取得Runtime类的实例
(2)freeMemory() 返回Java虚拟机中的空闲内存量
(3)maxMemory() 返回JVM的最大内存
(4)gc() 运行垃圾回收器,释放空间
(5)exes(String command) 执行本机命令
3、System类
是一些与系统相关属性和方法的集合,而且在System类中所有的属性都是静态的,可直接使用System类调用
(1)exit(int status) 系统退出,如果status为非零就表示退出
(2)currentTimeMillis() 返回以毫秒为单位的当前时间
(3)getProperties() 取得当前系统全部属性
getProperties(String key) 根据键值取得属性的具体内容
4、日期操作类
(1)Date类:是一个较为简单的操作类,直接使用java.util.Date类的构造方法并进行输出就可以得到一个完整的日期。
(2)Calendar类(是一个抽象类,需要使用子类实例化操作)
Calendar 中的常量
YEAR 年 、 MONTH 月 、 DAY_OF_MONTH 日 、HOUR_OF_DAY 小时,24制
MINUTE 分 SECOND 秒 MILLISECOND 毫秒
方法:get(int field) 返回给定日历字段的值
Calendar calendar=new GregorianCalendar()
calendar.get(Calendar.*) //*为指定字段值
(3)DateFormat类
DateFormat类和MessageFormat类都属于Format类的子类
DateFormat类中的常用方法:
①getDateInstance() 得到默认对象
②getDateInstance(int style,Locale aLocale) 根据Locale得到对象
③getDateTimeInstance() 得到日期时间对象
④getDateTimeInstance(int dateStyle,int timeStyle,Locale aLocale) 根据Locale得到日期时间
(4)SimpleDateFormat(DateFormat的子类)
yyyy-MM-dd-HH-mm-ss-SSS 年-月-日-时-分-秒-毫秒
方法:
SimpleDateFormat(String pattern) 构造方法
parse(String source) 将一个包含日期的字符串变为Date类型
format(Date date) 将一个Date类型按照指定格式变为String类型
5、Math类
Math类是数学操作类,提供了一系列的数学操作方法,在Math类中提供的一切方法都是静态方法,可直接由类名称调用。
Math.sqrt():求平方根
Math.max(): 求两数的最大值
Math.min():求两数的最小值
Math.pow(x,y): x的y次方
Math.round():四舍五入
6、Random类
是随机数产生类,可以指定一个随机数范围,然后任意产生在此范围中的数字
创建一个实例然后调用 next*() //*是数据类型
如:nextBoolean()、nextDouble()、nextFloat()、nextInt()、nextLong()等
7、NumberFormat类
表示数字的格式化类,即按照本地的习惯进行数字显示。定义如下:
public abstract NumberFormat extends Format
NumberFormat是一个抽象类,是Format的子类,本类在使用时可以直接使用NumberFormat类中提供的静态方法为其实例化。
注:一般来说抽象类是不能实例化的,抽象类其实是能被实例化的,但是它的实例化方式并不是通过普通的new方式来创建对象,而是通过父类的应用来指向子类的实例间接地实现父类的实例化,因为子类在实例化之前,一定会先实例化它的父类。这样创建了继承抽象类的子类对象,也就把其父类给实例化了。接口不可以被实例化,因为接口没有构造函数。
自定义数字的格式化,可以使用DecimalFormat类。
8、BigInteger类
当一个数字非常大时,无法使用基本数据类型接收时。过去往往使用String类进行接收,然后采用拆分的方式进行计算,这种操作非常麻烦,就有了BigInteger类,BigInterger表示是大整数类型
9、BigDecimal类
对于不需要任何计算精度的数字可以直接使用float或double,但是需要精确计算的结果,就要使用BigDecimal类。
10、对象克隆技术
在Java中支持对象的克隆操作,直接使用Object类中的clone()方法即可,方法定义如:
protected Object clone() throws CloneNotSupportedException
子类覆写方法改变权限,使其能被外部调用,具体的克隆方法的实现在object中,覆写方法只需调用Object类中的clone()方法即可完成操作,对象所在的类必须实现Cloneable接口才可以完成对象克隆操作。、
10、Arrays类
Arrays类是数组的操作类,定义在Java.util包中,主要功能是实现数组元素的查找、数组内容的填充、排序等。
常用方法
(1)public static boolean equals(int[] a,int[] b):判断两个数组是否相等。
(2)public static void fill(int[] a,int val): 将指定内容填充到数组之中。
(3)public static void sort(int[] a):数组快速排序
(4)public static int binarySearch(int[],int key):对排序后的数组进行检索
(5)public static String toString(int[] a):输出数组信息
11、Comparable接口
Arrays类中的sort()方法,可以对任意类型数组排序,此方法也可以对Object数组进行排序,但是要使用此种方法排序时,对象所在的类必须实现Comparable接口,此接口用于指定对象排序规则。
Comparable接口中也使用了Java的泛型技术,只有一个compareTo()方法,此方法返回一个int类型的数据。
1:表示大于 0:表示等于 -1:表示小于
另一种比较器Comparator:
如果一个类已经开发完成,但是要在此类建立初期没有实现的Comparable接口,此时无法进行对象排序操作的,Java又定义了另一个比较器的操作接口——Comparator.
接口也存在一个compareTo()方法,此方法要接收两个对象,返回值依然是1、0、-1,Comparator是一种补救的方法。
12、正则表达式
正则表达式可以方便的对数据进行匹配,还可以执行更加复杂的字符串验证、拆分、替换功能。
(表1)常用正则规范:
\\ :表示反斜杠(\)字符
\t:表示制表符
\n:表示换行
[abc]:表示字符a、b或c
[^abc]:表示除了a、b、c以外的任意字符
[a-zA-Z0-9]:表示由字母数字组成
\d:表示数字
\D:表示非数字
\w:表示字母、数字、下划线
\W:表示非字母、数字、下划线
\s:表示所有的空白字符(换行、空格等)
\S:表示所有的非空白字符
^:行的开头
$:行的结尾
. :匹配除换行符之外的任意字符
(表2)数量表示(X表示一组规范):
X:必须出现一次
X?:可以出现0次或1次
X*:可以出现0次、1次或多次
X+:可以出现1次或多次
X{n}:必须出现n次
X{n,}:必须出现n次以上
X{n,m}:必须出现n~m次
(表3)逻辑运算符(X、Y表示一组规范):
XY:X规范后跟着Y规范
X|Y:X规范或Y规范
(X):作为一个捕获组规范
注:
方括号[]表示可能出现字符集里的单个字符
括号()可表示多个字符
大括号{}表示次数
转义字符“\”
一般正则表达式是由通配符和固定字符组成
在程序中“\”字符是需要转义的,如\d得表示成\\d
在程序中应用正则表达式必须依靠Pattern类与Matcher类,都在java.util.regex包中定义。
Pattern类:主要作用是进行正则规范的编写。
Matcher类:主要是执行规范,验证一个字符是否符合其规范。
Pattern类的常用方法:
(1)public static Pattern compile(String regex) 指定正则表达式规则
(2)public Matcher matcher(CharSequence input) 返回Matcher类实例
(3)public String[] split(CharSequence input) 字符串拆分
在Pattern类中如果要取得Pattern类实例,则必须调用compile()方法
Matcher类的常用方法:
(1)public boolean matches () 执行验证
(2)public String replaceAll(String replacement) 字符串替换
String类对正则表达式的支持:
(1)public boolean matches(String regex) 字符串匹配
(2)public String replaceAll(String regex,String replacement) 字符串替换
(3)public String[] split(String regex) 字符串拆分
注:这些方法都是生成对象后直接调用
13、Timer类
Timer类是一种线程设施,可以用来实现在某一个时间或某一段时间后安排某一个任务执行一次或定期重复执行。