java_常用类库

常用类

 

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; 只是因为此时进行比较调用的是Objectequals方法.

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替换当前对象从startIndexendIndex-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) //返回yx次方

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,75,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,从索引fromIndextoIndex的所有元素填充为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,从索引fromIndextoIndex-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相关的日期,fieldCalendar中定义的常数(见静态字段)

                            例如:get(Calendar.MONTH) 返回月份(1月份,返回02月份,返回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  SECONDMILLISECOND 分别表示时分秒和毫秒,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)

              从源对象数组srcsrcPos位置开始取长度为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

       常用构造方法:

              TimerTaskint 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运行。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值