java_常用类库
2013-06-23 21:05
369 查看
常用类
Object类
它是Java所有类的父类.所以Java的所有对象都拥有Object类的成员.
1.一般方法
boolean equals(Object obj) //本对象与obj对象相同,返回true
String toString() //返回本对象的字符串表达形式,默认返回类名称和十六进制数的
编码,即:getClass().getName+’@’+Integer.toHexString(hashCode());
如果要显示自定义的对象,则需要覆盖这个方法。
protected void finalize() throws Throwable //对象销毁时被自动调用,
native int hashCode()
返回对象的Hash码,Hash码是表示对象的唯一值,故Hash码相同的对象是同一对象。
2.控制线程的方法
final native void wait() //等待对象
final native void notify() //通知等待队列中的对象进入就绪队列
final native void notifyAll()//通知所有处于等待队列中的对象进入就绪队列
3.关于Object类的几点说明:
3.1. native <方法>
是指用C++语言编写的方法。
3.2. “==” 运算符一般用于基本数据类型的比较,如果用于两个引用对象的比较,则
只有当两个引用变量引用同一个对象时,才返回true,否则返回false.
String s1=new Strng(“java”);
String s2=new Strng(“java”);
System.out.pritnln(s1==s2); //显示false
但是,假如不使用new关键字,创建String
型对象s3,s4,则它们引用的是同一个对象。
String s3=“java”;
String s4=“java”;因为没有使用new
关键字,所以s4 引用既存的对象
System.out.pritnln(s3==s4); //显示true,
3.3. 比较对象内容时,使用equals()函数
Object 类的equals()定义
Public boolean equals(Object obj){
return (this==obj);
}
由于String
类覆盖了继承自Object类的equals()方法,它比较的是引用对象的内容.
所以,没有覆盖equals()方法的类的对象使用该方法与另一对象进行比较时,永远返
回false; 只是因为此时进行比较调用的是Object的equals方法.
4. Object引用型变量
Object引用型变量可以用来引用所有的对对象.
Object[] obs=new Object[3];
obs[0]=new Strng(“12345”);//将String对象赋给obs[0]
obs[0]=new Boolean(true);
obs[0]=new Integer(100);
5. toString()方法
该方法返回本对象的字符串表示.当需要显示子类对象时,系统自动调用该对象的toString()方法,如果该对象没有覆盖祖先类的toString()方法,则系统默认调用Object的这个方法,从而显示类的完整路径名称.反之,将按子类的toString()方法显示其内容.
class Student{
Strng name;
Public Student(){
this.name=”洋洋”
}
}
public class Test{
public static void main(String[] args){
Student st=new Student();
System.out.println(st);
}
}
//子类覆盖toString()
class Student{
Strng name;
Public Student(){
this.name=”洋洋”
}
public String toString(){
retrun “你的姓名:”+this.name;
}
}
public class Test{
public static void main(String[] args){
Student st=new Student();
System.out.println(st); //显示
}
}
String类
两种赋值方式:
1、用”=”直接赋值 String str = “hello”;
2、用new关键字赋值 String str = new String(“hello”);
两种赋值方式的区别:第一种节约内存空间,第二种会产生垃圾。
String
是一种引用类型。
1.构造函数:
String(String original)
String(char[] cc)
String(char[] chars,int startIndex,int charCount)
String(byte[] chars)//使用平台默认字符编码,用byte[]构造一个String对象
String(byte[] chars,int startIndex,int charCount)
String(StringBuffer sb)
2.静态函数:
String valueOf(object obj)
将任意类型转换为字符串。
3.操作函数:
3.1. 类型转换
char[] toCharArray();
返回字符串对应的字符数组
3.2. 获得字符
charcharAt(int index)
返回索引为index位置的字符
3.3. 删除空白字符
String trim()
删除字符串前后空格
3.4. 分裂字符串
String[] splite(String rex)按分隔字符串进行分隔,返回字符串数组
说明:
如果字符串用英文句号”.”分隔,则需要用”\\.”表示,例如:
Strings="2007.10.18";
String[]sArray=s.split("\\.");
因为英文句号”.”为正则表达式的特殊字符
3.5. 查找字符串
boolean startsWith(String s)
在本串开始部分查找是否有与 s 匹配的串。返回true,表示匹配,
boolean endsWith(String s)
在本串末尾部分查找是否有与 s 匹配的串。返回true,表示匹配,
boolean equals(Object obj)true
表示本串与obj串内容相等
boolean equalsIgnoreCase(String anotherString)
忽略大小写比较,返回true 表示本串与obj串内容相等
int indexOf(String s)
从本串开始部分查找是与 s 匹配的串。返回s在本串中的起始位置
int lastIndexOf(String s)
从本串末尾查找是与 s
匹配的串。返回s在本串中的起始位置
3.6. 字符串比较
int compareTo(String anotherString)
返回负数表示本串< anotherString;
0表示本串等于anotherString;
正数表示本串> anotherString;
int compareToIgnoreCase(String anotherString)
忽略大小写比较
返回负数表示本串< anotherString;
0表示本串=anotherString;
正数表示本串> anotherString;
3.7. 截取字符串
String substring(intstartPos,int endPos)
返回startPos――endPos之间的字符串(不含endPos位置的字符)。
String substring(int startPos)
返回从startPos开始直到串尾的全部字符
3.8. 大小写转换
String toLowerCase()
转换为小写字母
String toUpperCase()
转换为大写字母
3.9. 拷贝
getChars(int StartPos,intendPos,char[] c,int startIndex)
拷贝startPos――endPos之间的字符串(不含endPos位置的字符)到字符数组c
中,从索引startIndex开始存放
getBytes(int StartPos,intendPos,byte[] b,int startIndex)
拷贝startPos――endPos
之间的字符串(不含endPos位置的字符)到字节数组b
中,从索引startIndex
开始存放byte[] getBytes();
返回byte数组
bye[] getBytes()
使用平台默认字符编码,将当前字符串转换为一个byte数组
3.10. 获得串长度
int length()
返回串长度(字符个数)
3.11. 替换子串
String replace(char oldChar,charnewChar)
将本串中全部oldChar字符替换为newChar字符,并返回替换后的字符串
3.12. 类型转换
static int Integer.parseInt(Strings);//转换为int类型
static long Long.parseInt(Strings);//转换为int类型
static doubleDouble.parseInt(String s);//转换为int类型
说明:上述类型的转换如果不成功,将抛出NumberFormatException异常。
3.13. 匹配
boolean matches(String pattern) //pattern为正则表达式。
当字符串与pattern匹配时,返回true
常见的匹配模式:
A. 匹配超链接标记 <a.+href*=*[‘\”]?.*?[‘\”]?.*?>
B. 匹配e-mail ^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$
4. 字符串的连接
用运算符 “+”进行两个字符串的连接。如:
String s1=”sun”;
String s2=”company”;
String s=s1+s2; //此时s内容为:sun company
StringBuffer类
如果要对字符串进行动态增减,则用StringBuffer类,因此,StringBuffer又称动态字符串。
1.构造方法
StringBuffer()
StringBuffer(int iniCapacity)
StringBuffer(String s) //将指定的String内容变为StringBuffer内容
2.操作函数:
2.1. 获得长度
int length() 返回字符串的个数
2.2. 添加对象
append(object obj)//在尾部添加对象
insert(int StartPos,object obj)在StartPos位置插入对象obj
2.3. 返回字符串
String toString()
2.4. 删除子串
StringBuffer delete(intstart,int end)
删除从start开始到end-1之间的字符串,并返回当前对象的引用
StringBuffer deleteCharAt(int index)
删除索引为index位置处的字符,并返回当前对象的引用
2.5. 获得字符
char charAt(int index)
返回索引处的字符
2.6. 修改字符
void setCharAt(int index,char c)
设置索引index处的字符为c
2.7. 截取字符串
String substring(intstartIndex)
返回从startIndex开始直到最后的全部字符
String substring(intstartIndex,int endIndex)返回范围startIndex--endIndex的字符串
2.8. 反转字符串
StringBuffer reverse()
将该对象实体中的字符序列反转,并返回当前对象的引用。
2.9. 替换子串
String replace(int startIndex, intendIndex,String newStr)
用newStr替换当前对象从startIndex到endIndex-1
之间的字符序列,并返回对
Math类
一、四舍五入
static double rint(double arg) //返回对arg四舍五入的浮点数(小数位始终为.0)
static int round(float arg) //返回对arg四舍五入后的最近的整数
static long round(double arg) //返回对arg四舍五入后的最近的长整数
二.三角函数
static double sin(double arg) //返回arg的正弦值
static double cos(double arg) //返回arg的正弦值
static double tan(double arg) //返回arg的正弦值
static double asin(double arg) //返回arg的正弦值
static double acos(double arg) //返回arg的正弦值
static double atan(double arg) //返回arg的正弦值
三.指数函数
static double log(double arg) //返回arg的正弦值
static double pow(double y,double x) //返回y的x次方
static double sqrt(double arg) //返回arg的平方根
四.取整函数
static int abs(int arg) //返回arg的绝对值
static long abs(long y) //返回y的绝对值
static int max(int x,int y) //返回x,y的最大值
static int min(int x,int y) //返回x,y的最小值
static double ceil(double d) //返回>=d
的最小浮点数(小数位始终为.0)
static double floor (double d) //返回<=d
的最大浮点数(小数位始终为.0)
例如:ceil(123.15)
结果为124.0 floor(123.91) 结果为123.0
Random类
该类用于产生随机数,在java.util包中
一.构造函数:
Random()
Random(long seed)
二.方法:
int nextInt(int max)
产生一个0~~max-1之间的32位随机数
long nextLong(long max)产生一个0~~max-1之间的64位随机数
float nextFloat() 产生一个0.0---1.0之间的单精度随机数(<1.0)
double nextDouble()产生一个0.0---1.0之间的双精度随机数(<1.0)
boolean nextBoolean() 产生一个布尔随机数(true,false)
void nextBytes(byte[] b) 产生一个随机byte数组,
注意:bye[] 数组必须分配存储空间
例如,随机产生一个小写字母
Random rand=new Random();
int n=rand.nextInt(26)+97 //97=’a’
char c=(char)n;//转换为字母
Arrays类
Int binarySearch(数据类型[] a,数据类型 key);//二分查找,必须保证数组是排序的操作
Boolean equals(数据类型[] a,数据类型[] b);//比较两个数组的内容是否相等
Void fill(数据类型[] a,数据类型 val);//以指定的内容对数组进行填充
Void sort();//数组的排序操作
String toString(数据类型 a);//数组的输出
Int x[] ={1,3,4,6,7,5,77,};
Arrays.toString();//数组输出
Arrays.sort(x);//数组排序
Arrays.binarySearch(x,5);//二分查找
Arrays.fill(x,3);//数组中的内容使用数字3填充
一. 常用静态方法:
1.搜索
public static int binarySerach(byte[] a,int key)
public static int binarySerach(double[] a,double key)
public static int binarySerach(Object[] a, Object key)
在数组a中对key进行二进制搜索,并返回key所在的位置,没有找到,返回负数
2.相等比较
public static boolean equals(byte[] a, byte[] b)
public static boolean equals(double[] a, double[] b)
public static boolean equals(Object[] a, Object [] b)
比较两个数组,如果数组元素均相同,返回true,否则,返回false
3.填充
public static void fill(byte[] a, byte val)
public static void fill(double[] a,double val)
public static void fill(Object[] a,Object val)
将数组a中的所有元素填充为val
public static void fill(byte[] a, int fromIndex,inttoIndex,byte val)
public static void fill(double[] a, int fromIndex,int toIndex ,double val)
public static void fill(Object[] a, intfromIndex,int toIndex, Object val)
将数组中a中,从索引fromIndex到toIndex的所有元素填充为val
4.排序
public static void sort(byte[] a)
public static void sort(int[] a)
public static void sort(long[] a)
public static void sort (double[] a, byteval)
public static void sort (Object[] a)
将数组中a的所有元素进行升序排序
public static void sort(byte[] a, int fromIndex,inttoIndex)
public static void sort(int[] a, int fromIndex,inttoIndex)
public static void sort(long[] a, int fromIndex,inttoIndex)
public static void sort (double[] a, int fromIndex,int toIndex)
public static void sort (Object[] a, intfromIndex,int toIndex)
将数组a中,从索引fromIndex到toIndex-1的所有元素进行升序排序
Date类
表示日期和时间,在java.util包中
一. 构造函数:
Date() //用当前时间初始化实例。
Date(long date) // date
为毫秒
Date(int year, int month,int day)
二.方法:
setTime(long date) // date 为毫秒,设置时间
long getTime() //转换为毫秒数
static Date valueOf(String s) //转换字符串格式的日期为Date
三.相关类SimpleDateFormat
用于格式化日期,在java.text包中
1.构造函数:
SimpleDateFormat(String FormatString);
参数FormatString常用样式为
y或 yy
表示年份; yyyy 表示世纪和年份
m 或MM
表示月份
d 或dd 表示天
H 或HH
表示小时
m 或 mm
表示分
s 或ss
表示秒
E 表示字符串输出的星期
2.操作方法:
2.1. 根据构造函数中的格式将Date对象输出为字符串。
String format(Date d);
例如:
SimpleDateFormatsf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Dated=new Date();
StringDateString=sf.format(d); //返回类似的日期 2005-08-07 07:10:24
四.相关类DateFormat
用于格式化日期,在java.text包中
1.静态方法
DateFormat getDateTimeInstance(int dateStyle,inttimeStyle,Locale alocal)
该方法用于获得一个DateFormat实例.
dateStyle日期类型,通常取常数DateFormat.LONG
timeStyle时间类型,通常取常数DateFormat.LONG
alocal 地区常数,通常取常数Locale.CHINA(中国),Locale.US(美国)
2 . 实例方法
String format(Date d)
用格式去格式化参数Date 对象,并返回字符串.
例如:
DateFormat df=DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG,Locale.CHINA);
System.out.println(df.format(newDate())); //按中国格式显示日期时间
Calendar 类
本类提供了月历功能,但这些功能都是由其子类GregorianCalendar实现的。
一.GregorianCalendar类的常用方法:
1.构造函数:
GregorianCalendar();
用当前系统日期初始化对象
2.方法:
2.1. 获得日期的各个部分
int get(int field)
返回与field相关的日期,field是Calendar中定义的常数(见静态字段)
例如:get(Calendar.MONTH)
返回月份(1月份,返回0,2月份,返回1,。。。)
2.2. 修改日期的各个部分
void set(intfield,int value)
将field表示的日期替换为value值
例set(Calendar.YEAR,2000);将年份设定为2000年
2.3. 重新设置新的日期
final voidset(int year,int value) //设置年/月/日的值为value
final voidset(int year,int month,int date) //设置年月日
final voidset(int year,int month,int date, int hour,int minute) //设置年月日时分秒
final voidset(int year,int month,int date, int hour,int minute,int second)
设置年月日时分秒和毫秒
2.4. 获得对象毫秒数
longgetTimeInMillis();
例:
GregorianCalendargre=new
GregorianCalendar(); //获得实例
Stringnow=gre.get(Calendar.YEAR)+"-"+gre.get(Calendar.MONTH)+"-"+
gre.get(Calendar.DATE)+""+gre.get(Calendar.HOUR_OF_DAY)+":"+
gre.get(Calendar.MINUTE)+ ":"+gre.get(Calendar.SECOND);
System.out.println(now);//显示当前日期时间
二.Calendar类
1.获得Calendar实例
Calendar Calendar.getInstance();
返回一个Calendar实例
2.方法:
2.1. 转换为其它类型
Date getTime(); //获得日期
long getTimeMillis() //转换为毫秒
2.2. 增加日期的某个部分
voidadd(int field,int amount)
将field代表的内容增加amount
2.3. 返回field
表示日期部分的最大值
intgetMaximum(int field)返回field的最大值
2.4. 设置日期
setTime(Date date) //设置日期
三.静态字段:
YEAR, MONTH , DATE(DAY_OF_MONTH) 分别表示年月日
HOUR MINUTE SECOND,MILLISECOND 分别表示时分秒和毫秒,HOUR
为12小时制
HOUR_OF_DAY表示一天中的第几时(为24小时制)
DAY_OF_YEAR 表示一年中的第几天
WEEK_OF_YEAR
表示一年中的第几周
WEEK_OF_MONTH
表示一月中的第几周
DAY_OF_WEEK
表示一周中的第几天(1 表示星期日,2
表示星期一,。。。)
例:获得当前日期和时间
Calendarcal=Calendar.getInstance();
intyear=cal.get(Calendar.YEAR); //
intmonth=cal.get(Calendar.MONTH)+1;
intday=cal.get(Calendar.DAY_OF_MONTH);
StringsDate=year+"-"+month+"-"+day+""+cal.get(Calendar.HOUR)+":"+
cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND);
System类
static System. arraycopy(Object[] src,int srcPos,Object dest,intdestPos,int length)
从源对象数组src的srcPos位置开始取长度为length个元素拷贝到目标数组中
dest 中,并从destPost位置开始存放。
static System.currentTimeMillis();
获得当前时间的毫秒数
static System.out.print(Object obj);
输出任意对象的字符串表示
static System.out.println(Object obj);
输出任意对象的字符串表示,并换行。
Time类和TimerTask类
一.概述:
所在包:java.util
这两个类通常配合完成只执行一次或周期性重复执行的任务。
TimerTask类提供实际要执行的任务。一个实际的任务必须从这个类扩展,并覆盖run
方法(要完成的任务在该方法中实现);
Timer类通过后台线程调度任务,使任务得以执行。
二.Timer类
常用构造方法:
Timer()
Timer(String name)
常用操作方法:
schedule(TimerTask task,intdelayRunTime,int interval)
task 任务类或其子类
delayRunTime
第一次运行时间(相对于方法该方法调用后), ms
interval
任务被重复执行的时间间隔,ms
cancel();//停止时钟
三.TimerTask类
常用构造方法:
TimerTask(int maxCounter,Timer aTimer)
maxCounter任务被执行的总次数
aTimer Timer对象
常用操作方法:
run() 必须被子类覆盖的方法(用于要执行的任务)
cancel();//停止任务
四.程序设计要点:
0. 首先从TimerTask扩展一个自己的类
class MyTimerTask extends TimerTask{
privateint maxNumberOfTimesToRun=0;//任务被执行的总次数
privateTimer myTimer=null;
public MyTimerTask(int maxCounter,TimeraTimer){
super();
maxNumberOfTimesToRun=maxCounter;
myTimer=aTimer
}
//覆盖父类的方法
publicvoid run(){
//要执行的任务代码
}
}
1. 启动Timer运行
1.1. 获得一个Timer实例
1.2. 获得TimerTask实例
1.3. 调用schedule()方法使Timer运行。
Object类
它是Java所有类的父类.所以Java的所有对象都拥有Object类的成员.
1.一般方法
boolean equals(Object obj) //本对象与obj对象相同,返回true
String toString() //返回本对象的字符串表达形式,默认返回类名称和十六进制数的
编码,即:getClass().getName+’@’+Integer.toHexString(hashCode());
如果要显示自定义的对象,则需要覆盖这个方法。
protected void finalize() throws Throwable //对象销毁时被自动调用,
native int hashCode()
返回对象的Hash码,Hash码是表示对象的唯一值,故Hash码相同的对象是同一对象。
2.控制线程的方法
final native void wait() //等待对象
final native void notify() //通知等待队列中的对象进入就绪队列
final native void notifyAll()//通知所有处于等待队列中的对象进入就绪队列
3.关于Object类的几点说明:
3.1. native <方法>
是指用C++语言编写的方法。
3.2. “==” 运算符一般用于基本数据类型的比较,如果用于两个引用对象的比较,则
只有当两个引用变量引用同一个对象时,才返回true,否则返回false.
String s1=new Strng(“java”);
String s2=new Strng(“java”);
System.out.pritnln(s1==s2); //显示false
但是,假如不使用new关键字,创建String
型对象s3,s4,则它们引用的是同一个对象。
String s3=“java”;
String s4=“java”;因为没有使用new
关键字,所以s4 引用既存的对象
System.out.pritnln(s3==s4); //显示true,
3.3. 比较对象内容时,使用equals()函数
Object 类的equals()定义
Public boolean equals(Object obj){
return (this==obj);
}
由于String
类覆盖了继承自Object类的equals()方法,它比较的是引用对象的内容.
所以,没有覆盖equals()方法的类的对象使用该方法与另一对象进行比较时,永远返
回false; 只是因为此时进行比较调用的是Object的equals方法.
4. Object引用型变量
Object引用型变量可以用来引用所有的对对象.
Object[] obs=new Object[3];
obs[0]=new Strng(“12345”);//将String对象赋给obs[0]
obs[0]=new Boolean(true);
obs[0]=new Integer(100);
5. toString()方法
该方法返回本对象的字符串表示.当需要显示子类对象时,系统自动调用该对象的toString()方法,如果该对象没有覆盖祖先类的toString()方法,则系统默认调用Object的这个方法,从而显示类的完整路径名称.反之,将按子类的toString()方法显示其内容.
class Student{
Strng name;
Public Student(){
this.name=”洋洋”
}
}
public class Test{
public static void main(String[] args){
Student st=new Student();
System.out.println(st);
}
}
//子类覆盖toString()
class Student{
Strng name;
Public Student(){
this.name=”洋洋”
}
public String toString(){
retrun “你的姓名:”+this.name;
}
}
public class Test{
public static void main(String[] args){
Student st=new Student();
System.out.println(st); //显示
}
}
String类
两种赋值方式:
1、用”=”直接赋值 String str = “hello”;
2、用new关键字赋值 String str = new String(“hello”);
两种赋值方式的区别:第一种节约内存空间,第二种会产生垃圾。
String
是一种引用类型。
1.构造函数:
String(String original)
String(char[] cc)
String(char[] chars,int startIndex,int charCount)
String(byte[] chars)//使用平台默认字符编码,用byte[]构造一个String对象
String(byte[] chars,int startIndex,int charCount)
String(StringBuffer sb)
2.静态函数:
String valueOf(object obj)
将任意类型转换为字符串。
3.操作函数:
3.1. 类型转换
char[] toCharArray();
返回字符串对应的字符数组
3.2. 获得字符
charcharAt(int index)
返回索引为index位置的字符
3.3. 删除空白字符
String trim()
删除字符串前后空格
3.4. 分裂字符串
String[] splite(String rex)按分隔字符串进行分隔,返回字符串数组
说明:
如果字符串用英文句号”.”分隔,则需要用”\\.”表示,例如:
Strings="2007.10.18";
String[]sArray=s.split("\\.");
因为英文句号”.”为正则表达式的特殊字符
3.5. 查找字符串
boolean startsWith(String s)
在本串开始部分查找是否有与 s 匹配的串。返回true,表示匹配,
boolean endsWith(String s)
在本串末尾部分查找是否有与 s 匹配的串。返回true,表示匹配,
boolean equals(Object obj)true
表示本串与obj串内容相等
boolean equalsIgnoreCase(String anotherString)
忽略大小写比较,返回true 表示本串与obj串内容相等
int indexOf(String s)
从本串开始部分查找是与 s 匹配的串。返回s在本串中的起始位置
int lastIndexOf(String s)
从本串末尾查找是与 s
匹配的串。返回s在本串中的起始位置
3.6. 字符串比较
int compareTo(String anotherString)
返回负数表示本串< anotherString;
0表示本串等于anotherString;
正数表示本串> anotherString;
int compareToIgnoreCase(String anotherString)
忽略大小写比较
返回负数表示本串< anotherString;
0表示本串=anotherString;
正数表示本串> anotherString;
3.7. 截取字符串
String substring(intstartPos,int endPos)
返回startPos――endPos之间的字符串(不含endPos位置的字符)。
String substring(int startPos)
返回从startPos开始直到串尾的全部字符
3.8. 大小写转换
String toLowerCase()
转换为小写字母
String toUpperCase()
转换为大写字母
3.9. 拷贝
getChars(int StartPos,intendPos,char[] c,int startIndex)
拷贝startPos――endPos之间的字符串(不含endPos位置的字符)到字符数组c
中,从索引startIndex开始存放
getBytes(int StartPos,intendPos,byte[] b,int startIndex)
拷贝startPos――endPos
之间的字符串(不含endPos位置的字符)到字节数组b
中,从索引startIndex
开始存放byte[] getBytes();
返回byte数组
bye[] getBytes()
使用平台默认字符编码,将当前字符串转换为一个byte数组
3.10. 获得串长度
int length()
返回串长度(字符个数)
3.11. 替换子串
String replace(char oldChar,charnewChar)
将本串中全部oldChar字符替换为newChar字符,并返回替换后的字符串
3.12. 类型转换
static int Integer.parseInt(Strings);//转换为int类型
static long Long.parseInt(Strings);//转换为int类型
static doubleDouble.parseInt(String s);//转换为int类型
说明:上述类型的转换如果不成功,将抛出NumberFormatException异常。
3.13. 匹配
boolean matches(String pattern) //pattern为正则表达式。
当字符串与pattern匹配时,返回true
常见的匹配模式:
A. 匹配超链接标记 <a.+href*=*[‘\”]?.*?[‘\”]?.*?>
B. 匹配e-mail ^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+([.][a-z0-9-]+)*$
4. 字符串的连接
用运算符 “+”进行两个字符串的连接。如:
String s1=”sun”;
String s2=”company”;
String s=s1+s2; //此时s内容为:sun company
StringBuffer类
如果要对字符串进行动态增减,则用StringBuffer类,因此,StringBuffer又称动态字符串。
1.构造方法
StringBuffer()
StringBuffer(int iniCapacity)
StringBuffer(String s) //将指定的String内容变为StringBuffer内容
2.操作函数:
2.1. 获得长度
int length() 返回字符串的个数
2.2. 添加对象
append(object obj)//在尾部添加对象
insert(int StartPos,object obj)在StartPos位置插入对象obj
2.3. 返回字符串
String toString()
2.4. 删除子串
StringBuffer delete(intstart,int end)
删除从start开始到end-1之间的字符串,并返回当前对象的引用
StringBuffer deleteCharAt(int index)
删除索引为index位置处的字符,并返回当前对象的引用
2.5. 获得字符
char charAt(int index)
返回索引处的字符
2.6. 修改字符
void setCharAt(int index,char c)
设置索引index处的字符为c
2.7. 截取字符串
String substring(intstartIndex)
返回从startIndex开始直到最后的全部字符
String substring(intstartIndex,int endIndex)返回范围startIndex--endIndex的字符串
2.8. 反转字符串
StringBuffer reverse()
将该对象实体中的字符序列反转,并返回当前对象的引用。
2.9. 替换子串
String replace(int startIndex, intendIndex,String newStr)
用newStr替换当前对象从startIndex到endIndex-1
之间的字符序列,并返回对
Math类
一、四舍五入
static double rint(double arg) //返回对arg四舍五入的浮点数(小数位始终为.0)
static int round(float arg) //返回对arg四舍五入后的最近的整数
static long round(double arg) //返回对arg四舍五入后的最近的长整数
二.三角函数
static double sin(double arg) //返回arg的正弦值
static double cos(double arg) //返回arg的正弦值
static double tan(double arg) //返回arg的正弦值
static double asin(double arg) //返回arg的正弦值
static double acos(double arg) //返回arg的正弦值
static double atan(double arg) //返回arg的正弦值
三.指数函数
static double log(double arg) //返回arg的正弦值
static double pow(double y,double x) //返回y的x次方
static double sqrt(double arg) //返回arg的平方根
四.取整函数
static int abs(int arg) //返回arg的绝对值
static long abs(long y) //返回y的绝对值
static int max(int x,int y) //返回x,y的最大值
static int min(int x,int y) //返回x,y的最小值
static double ceil(double d) //返回>=d
的最小浮点数(小数位始终为.0)
static double floor (double d) //返回<=d
的最大浮点数(小数位始终为.0)
例如:ceil(123.15)
结果为124.0 floor(123.91) 结果为123.0
Random类
该类用于产生随机数,在java.util包中
一.构造函数:
Random()
Random(long seed)
二.方法:
int nextInt(int max)
产生一个0~~max-1之间的32位随机数
long nextLong(long max)产生一个0~~max-1之间的64位随机数
float nextFloat() 产生一个0.0---1.0之间的单精度随机数(<1.0)
double nextDouble()产生一个0.0---1.0之间的双精度随机数(<1.0)
boolean nextBoolean() 产生一个布尔随机数(true,false)
void nextBytes(byte[] b) 产生一个随机byte数组,
注意:bye[] 数组必须分配存储空间
例如,随机产生一个小写字母
Random rand=new Random();
int n=rand.nextInt(26)+97 //97=’a’
char c=(char)n;//转换为字母
Arrays类
Int binarySearch(数据类型[] a,数据类型 key);//二分查找,必须保证数组是排序的操作
Boolean equals(数据类型[] a,数据类型[] b);//比较两个数组的内容是否相等
Void fill(数据类型[] a,数据类型 val);//以指定的内容对数组进行填充
Void sort();//数组的排序操作
String toString(数据类型 a);//数组的输出
Int x[] ={1,3,4,6,7,5,77,};
Arrays.toString();//数组输出
Arrays.sort(x);//数组排序
Arrays.binarySearch(x,5);//二分查找
Arrays.fill(x,3);//数组中的内容使用数字3填充
一. 常用静态方法:
1.搜索
public static int binarySerach(byte[] a,int key)
public static int binarySerach(double[] a,double key)
public static int binarySerach(Object[] a, Object key)
在数组a中对key进行二进制搜索,并返回key所在的位置,没有找到,返回负数
2.相等比较
public static boolean equals(byte[] a, byte[] b)
public static boolean equals(double[] a, double[] b)
public static boolean equals(Object[] a, Object [] b)
比较两个数组,如果数组元素均相同,返回true,否则,返回false
3.填充
public static void fill(byte[] a, byte val)
public static void fill(double[] a,double val)
public static void fill(Object[] a,Object val)
将数组a中的所有元素填充为val
public static void fill(byte[] a, int fromIndex,inttoIndex,byte val)
public static void fill(double[] a, int fromIndex,int toIndex ,double val)
public static void fill(Object[] a, intfromIndex,int toIndex, Object val)
将数组中a中,从索引fromIndex到toIndex的所有元素填充为val
4.排序
public static void sort(byte[] a)
public static void sort(int[] a)
public static void sort(long[] a)
public static void sort (double[] a, byteval)
public static void sort (Object[] a)
将数组中a的所有元素进行升序排序
public static void sort(byte[] a, int fromIndex,inttoIndex)
public static void sort(int[] a, int fromIndex,inttoIndex)
public static void sort(long[] a, int fromIndex,inttoIndex)
public static void sort (double[] a, int fromIndex,int toIndex)
public static void sort (Object[] a, intfromIndex,int toIndex)
将数组a中,从索引fromIndex到toIndex-1的所有元素进行升序排序
Date类
表示日期和时间,在java.util包中
一. 构造函数:
Date() //用当前时间初始化实例。
Date(long date) // date
为毫秒
Date(int year, int month,int day)
二.方法:
setTime(long date) // date 为毫秒,设置时间
long getTime() //转换为毫秒数
static Date valueOf(String s) //转换字符串格式的日期为Date
三.相关类SimpleDateFormat
用于格式化日期,在java.text包中
1.构造函数:
SimpleDateFormat(String FormatString);
参数FormatString常用样式为
y或 yy
表示年份; yyyy 表示世纪和年份
m 或MM
表示月份
d 或dd 表示天
H 或HH
表示小时
m 或 mm
表示分
s 或ss
表示秒
E 表示字符串输出的星期
2.操作方法:
2.1. 根据构造函数中的格式将Date对象输出为字符串。
String format(Date d);
例如:
SimpleDateFormatsf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Dated=new Date();
StringDateString=sf.format(d); //返回类似的日期 2005-08-07 07:10:24
四.相关类DateFormat
用于格式化日期,在java.text包中
1.静态方法
DateFormat getDateTimeInstance(int dateStyle,inttimeStyle,Locale alocal)
该方法用于获得一个DateFormat实例.
dateStyle日期类型,通常取常数DateFormat.LONG
timeStyle时间类型,通常取常数DateFormat.LONG
alocal 地区常数,通常取常数Locale.CHINA(中国),Locale.US(美国)
2 . 实例方法
String format(Date d)
用格式去格式化参数Date 对象,并返回字符串.
例如:
DateFormat df=DateFormat.getDateTimeInstance(DateFormat.LONG,
DateFormat.LONG,Locale.CHINA);
System.out.println(df.format(newDate())); //按中国格式显示日期时间
Calendar 类
本类提供了月历功能,但这些功能都是由其子类GregorianCalendar实现的。
一.GregorianCalendar类的常用方法:
1.构造函数:
GregorianCalendar();
用当前系统日期初始化对象
2.方法:
2.1. 获得日期的各个部分
int get(int field)
返回与field相关的日期,field是Calendar中定义的常数(见静态字段)
例如:get(Calendar.MONTH)
返回月份(1月份,返回0,2月份,返回1,。。。)
2.2. 修改日期的各个部分
void set(intfield,int value)
将field表示的日期替换为value值
例set(Calendar.YEAR,2000);将年份设定为2000年
2.3. 重新设置新的日期
final voidset(int year,int value) //设置年/月/日的值为value
final voidset(int year,int month,int date) //设置年月日
final voidset(int year,int month,int date, int hour,int minute) //设置年月日时分秒
final voidset(int year,int month,int date, int hour,int minute,int second)
设置年月日时分秒和毫秒
2.4. 获得对象毫秒数
longgetTimeInMillis();
例:
GregorianCalendargre=new
GregorianCalendar(); //获得实例
Stringnow=gre.get(Calendar.YEAR)+"-"+gre.get(Calendar.MONTH)+"-"+
gre.get(Calendar.DATE)+""+gre.get(Calendar.HOUR_OF_DAY)+":"+
gre.get(Calendar.MINUTE)+ ":"+gre.get(Calendar.SECOND);
System.out.println(now);//显示当前日期时间
二.Calendar类
1.获得Calendar实例
Calendar Calendar.getInstance();
返回一个Calendar实例
2.方法:
2.1. 转换为其它类型
Date getTime(); //获得日期
long getTimeMillis() //转换为毫秒
2.2. 增加日期的某个部分
voidadd(int field,int amount)
将field代表的内容增加amount
2.3. 返回field
表示日期部分的最大值
intgetMaximum(int field)返回field的最大值
2.4. 设置日期
setTime(Date date) //设置日期
三.静态字段:
YEAR, MONTH , DATE(DAY_OF_MONTH) 分别表示年月日
HOUR MINUTE SECOND,MILLISECOND 分别表示时分秒和毫秒,HOUR
为12小时制
HOUR_OF_DAY表示一天中的第几时(为24小时制)
DAY_OF_YEAR 表示一年中的第几天
WEEK_OF_YEAR
表示一年中的第几周
WEEK_OF_MONTH
表示一月中的第几周
DAY_OF_WEEK
表示一周中的第几天(1 表示星期日,2
表示星期一,。。。)
例:获得当前日期和时间
Calendarcal=Calendar.getInstance();
intyear=cal.get(Calendar.YEAR); //
intmonth=cal.get(Calendar.MONTH)+1;
intday=cal.get(Calendar.DAY_OF_MONTH);
StringsDate=year+"-"+month+"-"+day+""+cal.get(Calendar.HOUR)+":"+
cal.get(Calendar.MINUTE)+":"+cal.get(Calendar.SECOND);
System类
static System. arraycopy(Object[] src,int srcPos,Object dest,intdestPos,int length)
从源对象数组src的srcPos位置开始取长度为length个元素拷贝到目标数组中
dest 中,并从destPost位置开始存放。
static System.currentTimeMillis();
获得当前时间的毫秒数
static System.out.print(Object obj);
输出任意对象的字符串表示
static System.out.println(Object obj);
输出任意对象的字符串表示,并换行。
Time类和TimerTask类
一.概述:
所在包:java.util
这两个类通常配合完成只执行一次或周期性重复执行的任务。
TimerTask类提供实际要执行的任务。一个实际的任务必须从这个类扩展,并覆盖run
方法(要完成的任务在该方法中实现);
Timer类通过后台线程调度任务,使任务得以执行。
二.Timer类
常用构造方法:
Timer()
Timer(String name)
常用操作方法:
schedule(TimerTask task,intdelayRunTime,int interval)
task 任务类或其子类
delayRunTime
第一次运行时间(相对于方法该方法调用后), ms
interval
任务被重复执行的时间间隔,ms
cancel();//停止时钟
三.TimerTask类
常用构造方法:
TimerTask(int maxCounter,Timer aTimer)
maxCounter任务被执行的总次数
aTimer Timer对象
常用操作方法:
run() 必须被子类覆盖的方法(用于要执行的任务)
cancel();//停止任务
四.程序设计要点:
0. 首先从TimerTask扩展一个自己的类
class MyTimerTask extends TimerTask{
privateint maxNumberOfTimesToRun=0;//任务被执行的总次数
privateTimer myTimer=null;
public MyTimerTask(int maxCounter,TimeraTimer){
super();
maxNumberOfTimesToRun=maxCounter;
myTimer=aTimer
}
//覆盖父类的方法
publicvoid run(){
//要执行的任务代码
}
}
1. 启动Timer运行
1.1. 获得一个Timer实例
1.2. 获得TimerTask实例
1.3. 调用schedule()方法使Timer运行。
相关文章推荐
- Java常用类库
- Java常用类库
- Atitit 图像处理 常用8大滤镜效果 Jhlabs 图像处理类库 java常用图像处理类库
- JavaSe 3. java常用类库,包介绍及开发工具
- Java常用类库–StringBuffer:append、insert、reverse、replace、subString、delete、indexOf
- Java学习笔记(十五)网络编程及常用类库
- 【Java常用类库】_比较器(Comparable、Comparator)笔记
- Java系列(十五)__Java常用类库(1)
- Java程序员常用工具类库
- java 程序员常用类库
- Java 常用类库(三)
- Java程序员常用工具类库
- Java常用类库——Math、Random类
- java 常用集合类库
- Java常用类库(StringBuffer)
- JAVA常用类库
- Java开发人员必知必会的20种常用类库和API
- Java常用类库之Stringbuffer
- java常用类库---Arrays类
- 【Java常用类库】_StringBuffer