Java的常用类_第1页
Java的常用类_第2页
Java的常用类_第3页
Java的常用类_第4页
Java的常用类_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、java的常用类java可重用类的结构java有一系列功能强大的可重用类,分别在不同的包中,这些包按功能可划分为:语言包java.lang(language)、输入/输出包java.io、实用程序包java.util(utility)、小应用程序包java.applet、图形用户接口包java.swing、java.awt和网络包等。有时人们称前三种包为java的基础包。图列出了java工具包的层次结构,其中,直角矩形框表示包,圆角矩形框表示包中的类。 javajavax.swingjava.appletjava.utiljava.iojava.langjava.lang.mathjava.l

2、ang.systemjava.io.file 图 java工具包层次结构java常用包的简单介绍如下:1)java.lang包 主要含有与语言相关的类,如math类,system类。java.lang包由解释程序自动加载,不需显式说明,2)java.io包 主要含有与输入/ 输出相关的类,这些类提供了对不同的输入和输出设备读写数据的支持,这些输入和输出设备包括键盘、显示器、打印机、磁盘文件和网络等。3)java.util包 包括许多具有特定功能的类,有日期、向量、哈希表、列表和堆栈等。4)java.swing包和java.awt包 提供了创建图形用户界面元素的类。通过这些元素,编程者可以控制所

3、写applet或程序的外观界面。该包中包含定义窗口、对话框、按钮、复选框、列表、菜单、滚动条及文本域的类。5)包 含有与网络操作相关的类,如tcp sockets、url以及二进制码向ascii码转换的工具。6)java.applet包 含有控制hotjava浏览器的类,这些类可以控制html文档格式、应用程序中的声音资源等,其中applet类是用来创建包含于html页内的applet必不可少的类。java语言包(java.lang)java语言的核心部分就是java.lang包, 它定义了java中的大多数基本的类。每个java程序都自动导入java.lang包,由此可见该包的重要性。jav

4、a.lang 包中包含了object类,java.lang.object类是java中整个类层次结构的根结点,这个软件包还定义了基本数据类型的类:string、boolean、character、byte、integer、short、long、float和double等。这些类支持数字类型的转换操作。java.lang包中的其他类还有:class:为运行时搜集的信息,如对instanceof操作符提供支持。math:提供像pi 和e 这样的数学常数及各种函数。system:提供对操作系统的访问,包括默认的i/o流、环境变量、自动垃圾收集、系统时间和系统属性,许多system方法可访问runti

5、me类的方法。runtime:提供对操作系统的访问,使用java.lang. runtime 可以使应用程序容易与它所运行的环境协调。thread:thread和java.lang.runnable接口协同作用提供对java中多线程的支持。throwable:它是java中所有异常(exception)的基类,是java.lang.exception、java.lang.error和java.lang.runtimeexception的父类。应用程序运行发生意外时,异常和错误类就抛出对象。1integer类integer 类是基本类型 int类型的包装类。该类提供了多个方法,能在 int 类型

6、和 string 类型之间互相转换,还提供了处理 int 类型时非常有用的其他方法。1)属性:static int max_value:返回最大的整型数;static int min_value:返回最小的整型数;static class type:返回当前类型。例:system.out.println("integer.max_value: " + integer.max_value );结果为:integer.max_value: 21474836472)构造方法:integer(int value) :通过一个int类型的变量构造对象;integer(string s

7、) :通过一个string的类型构造对象;例:integer i = new integer("1234");生成了一个值为1234的integer对象。3)常用方法:1bytevalue():取得用byte类型表示的整数;2int compareto(integer anotherinteger) :比较两个整数。相等时返回;小于时返回负数;大于时返回正数。例:integer i = new integer(1234);system.out.println("pareto: " + pareto(new integer(123) );结果为:paret

8、o: 13int compareto(object o) :将该整数与其他类进行比较。如果o也为integer类,进行方法2 的操作;否则,抛出classcastexception异常。4int intvalue() : 返回该整型数所表示的整数。5long longvalue() :返回该整型数所表示的长整数。6static int parseint(string s) :将字符串转换成整数。s必须是时进制数组成,否则抛出numberformatexception异常。7 static int parseint(string s, int radix) :以radix为基数radix返回s的

9、十进制数。所谓的基数,就是“几进制”。例:string s1 = new string("1010");system.out.println("integer.parseint(string s, int radix): " + integer.parseint(s1,2) );结果为:integer.parseint(string s, int radix): 108short shortvalue() :返回该整型数所表示的短整数。9static string tobinarystring(int i) :将整数转为二进制数的字符串。10static

10、 string tohexstring(int i) :将整数转为十六进制数的字符串。11static string tooctalstring(int i) :将整数转为八进制数的字符串。12string tostring() :将该整数类型转换为字符串。13static string tostring(int i) :将该整数类型转换为字符串。不同的是,此为类方法。14static string tostring(int i, int radix) :将整数i以基数radix的形式转换成字符串。例:int i1 = 54321;system.out.println("intege

11、r.tostring(int i, int radix): " + integer.tostring(i1,16) );结果为:integer.tostring(int i, int radix): d431float、double、character等基本类型的类使用方法基本类似,这里就不再详述,用到时查阅api即可。2stringbuffer类在实际应用中,经常会遇到对字符串进行动态修改。stringbuffer类可以完成字符串的动态添加、插入和替换等操作。1)构造方法:stringbuffer() :构造一个没有任何字符的stringbuffer类。stringbuffer(i

12、nt length) : :构造一个没有任何字符的stringbuffer类,并且,其长度为length。stringbuffer(string str) :以str为初始值构造一个stringbuffer类。2)常用方法:1stringbuffer append(元素类型)向字符串缓冲区“追加”元素,这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整型数对象类型的字符串、字符串和stringbuffer类等。如果添加的字符超出了字符串缓冲区的长度,java将自动进行扩充。string question = new string("1+1=");i

13、nt answer = 3;boolean result = (1+1=3);stringbuffer sb = new stringbuffer();sb.append(question);sb.append(answer);sb.append('t');sb.append(result);system.out.println(sb);结果为:1+1=3 false2int capacity() :返回当前stringbuffer对象(字符串缓冲区)的总空间,而非字符号串的长度。3char charat(int index) :在当前stringbuffer对象中取索引号为i

14、ndex的字符。第一个字符的索引为“0”4stringbuffer delete(int start, int end) :删除当前stringbuffer对象中以索引号start开始,到end结束的子串。5 stringbuffer deletecharat(int index) :删除当前stringbuffer对象中索引号为index的字符。6stringbuffer insert(int offset, 类型名 参数名)在当前stringbuffer对象中插入一个元素,在索引号offset处插入相应的值。7stringbuffer reverse() :将字符串翻转。stringbuf

15、fer sb = new stringbuffer("0123456789");system.out.println( "sb.reverse(): " + sb.reverse() );结果为:sb.reverse(): 98765432108void setlength(int newlength) :重新设置字符串缓冲区中字符串的长度,如果newlength小于当前的字符串长度,将截去多余的字符。stringbuffer sb = new stringbuffer("0123456789");sb.setlength(5);sy

16、stem.out.println( "sb: " + sb );结果为:sb: 012349string substring(int start) :取当前stringbuffer对象中,从start开始到结尾的子串。10string substring(int start, int end) :取当前stringbuffer对象中,从start开始到end的子串。11string tostring() :将当前stringbuffer对象转换成string对象。例:利用stringbuffer类将键盘输入的数据连接成一个字符串。import javax.swing.*;i

17、mport java.io.*;public class stringbufferdemo public static void main(string args) char ch;stringbuffer strbuf=new stringbuffer(20);try while(ch=(char)system.in.read()!='n')strbuf.append(ch);catch (ioexception e) string str=strbuf.tostring(); system.out.println(str);3math类java.lang.math类是标准的

18、数学类,封装了一些数学函数和常量。1)三角函数下面的三个方法接受一个double类型的且以弧度为单位的角度值,并返回相应的运算结果。1sin(double a) 返回角度a的sin值;2cos(double a) 返回角度a的cos值;3tan(double a) 返回角度a的tan值;下面的方法是反三角函数:4asin(double r) 返回 sin值为r的角度值;5acos(double r) 返回 cos值为r的角度值;6atan(double r) 返回 tan值为r的角度值。2)乘方1pow(double y,double x) 返回y的x次方,例如,math.pow(2.0,3.

19、0)返回结果为8.0;2exp(double x) 返回ex ;3log(double x) 返回x的自然对数;4sqrt(double x) 返回x的平方根。3)舍入1ceil(double a) 返回大于或等于a的最小整数值;2floor(double a)返回小于或等于a的最大整数值;3rint(double a) 返回舍入尾数后接近a的整型值;4round(float a) 返回舍入尾数后最接近a的整型值;5round(double a)返回舍入尾数后最接近a的长整型值。4)其他 下面是几个应用于int、long、float和double类型的方法:1abs(a) 返回a的绝对值;2m

20、ax(a,b)返回a和b的最大值;3min(a,b)返回a和b的最小值。4system类在 system 类中,有标准输入、标准输出和错误输出流;可以实现对外部定义的属性和环境变量的访问、加载文件和库的方法以及快速复制数组的方法等等。system类不能被实例化。它有三个非常有用的对象:static printstream err “标准”错误输出流。 static inputstream in “标准”输入流。 static printstream out “标准”输出流。常用的方法有:static void arraycopy(object src, int srcpos, object d

21、est, int destpos, int length) 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。 static long currenttimemillis() 返回以毫秒为单位的当前时间。 static void exit(int status) 终止当前正在运行的 java 虚拟机。按照惯例,非零的状态码表明非正常终止。 static void gc() 运行垃圾回收器。5runtime类每个 java 应用程序都对应一个 runtime 类实例,应用程序不能创建自己的 runtime 类实例,但可以通过 getruntime 方法获取当前运行时。

22、runtime 类提供了很多方法,请阅读jdk的相关文档。java程序运行时,本身启动了一个进程,在这个进程中如何启动一个新进程呢?在runtime中提供了一个exec方法,可以实现该功能。下面例子在当前进程中,运行了记事本程序:例:runtime类class runtimedemopublic static void main(string args) tryruntime.getruntime().exec("notepad.exe"); catch(exception e)system.out.println(e.getmessage();java.util包java

23、.util包提供了许多实用的类,如:日期、向量、哈希表、列表和堆栈等。1日期时间类日期时间类是一个相对简单、但又使用频繁的类。利用日期时间类提供的方法,可以获取当前日期和时间,计算某年或某月的天数,或者对当前日期进行比较等。1)构造方法:1public date()这个构造方法将把当前日期和时间保存到所创建的date实例中。2public date(int year, int month, int date)根据所给定的year、month、date参数创建一个date 实例。利用此构造方法,所创建的date实例表示的日期与年(year)、月(month)、日(day)参数表示的日期等同。3p

24、ublic date(int year, int month, int date, int hours, int minutes)这个构造方法类似于第2个方法,只不过这里还提供了具体的小时(hours)和分钟(minutes)参数,因而时间要更为精确。4public date(int year, int month, int date, int hours,int minutes,int seconds)这个构造方法类似于第3个方法,所不同的是这里还提供了具体的秒(seconds)参数,时间又精确了一些。一旦创建了日期时间类的一个实例,就可以用它的方法来检索有关日期和时间的信息。2)方法:1p

25、ublic int getyear() 返回当前日期中的年份。2public int getmonth() 返回当前日期中的月份。3public int getdate() 返回当前日期在月份中的日期值(1-31)。4public int getday() 返回某天是星期几。5public int gethours() 返回当前日期中的小时数。6public int getminutes() 返回当前日期中的分钟数。7public int getseconds() 返回当前日期中的秒数。8public boolean befor(date when) 对日期实例所代表的时间和when进行比较。

26、若比when早,返回true; 否则返回false9public boolean after(date when) 对日期实例所代表的时间和when进行比较。若比when晚,返回true;否则返回false。10public boolean equal(object obj) 比较两个日期对象。若相等,则返回true;否则返回false。11public string tostring() 返回当前日期参数的字符串表示形式。注意:不同主机系统的日期表示形式不尽相同。日期时间类的使用非常简单,只需要不带任何参数创建一个类实例,就可以生成一个代表当前日期的类。如下所示:date today = n

27、ew date();system.out.println(today.tostring();或者也可用一个更为简单的方式:system.out. println(today);后一种方式中,println将自动调用tostring方法,因而无需显式调用。2stringtokenizer类1)构造方法:stringtokenizer(string str) :构造一个用来解析str的stringtokenizer对象。java默认的分隔符是“空格”、“制表符(t)”、“换行符(n)”、“回车符(r)”。stringtokenizer(string str, string delim) :构造一个

28、用来解析str的stringtokenizer对象,并提供一个指定的分隔符。stringtokenizer(string str, string delim, boolean returndelims) :构造一个用来解析str的stringtokenizer对象,并提供一个指定的分隔符,同时,指定是否返回分隔符。2)常用方法:1int counttokens() :返回nexttoken方法被调用的次数。2boolean hasmoretokens() :返回是否还有分隔符。3boolean hasmoreelements() :结果同2。4string nexttoken() :返回从当前

29、位置到下一个分隔符的字符串。5object nextelement() :结果同4。6string nexttoken(string delim) :与4类似,以指定的分隔符返回结果。例:字符串解析器的用法import java.util.*; class stringtokenizerdemo public static void main(string args) string s = new string("the java platform is the ideal platform for network computing"); stringtokenizer

30、st = new stringtokenizer(s); system.out.println( "token total: " + st.counttokens() ); while( st.hasmoreelements() ) system.out.println( st.nexttoken() ); 结果如下:token total: 10thejavaplatformistheidealplatformfornetworkcomputing3random类random类的对象用于生成伪随机数流1)构造方法:random():创建一个新的随机数发生器。random(

31、long seed) :用一个种子(长整型)创建一个随机数发生器。2)常用方法:1protected int next(int bits) :产生下一个伪随机数。2boolean nextboolean() :返回下一个从随机发生器的系列中得到的均匀分布的布尔值。3void nextbytes(byte bytes) :产生随机字节数组放到指定的数组中。4double nextdouble() :返回下一个从随机发生器的系列中得到的均匀分布的0.0到1.0的双精度类型值。5float nextfloat() :返回下一个从随机发生器的系列中得到的均匀分布的0.0到1.0的浮点类型值。6doub

32、le nextgaussian() :返回下一个从随机发生器的系列中得到的符合均匀分布的0.0的平均数到1.0方差的高斯分布双精度类型值。7int nextint() :返回下一个从随机发生器的系列中得到的均匀分布的整型值。8int nextint(int n) :返回下一个从随机发生器的系列中得到的均匀分布的0到指定整型数(n)之间的整型值。9long nextlong() :返回下一个从随机发生器的系列中得到的均匀分布的长整型值。10void setseed(long seed) :设置随机数发生器的种子为一个长整型数。这个类的对象使用一个48位的种子,如果这个类的两个实例是用同一个种子创

33、建的,并且,各自对它们以同样的顺序调用方法,则它们会产生相同的数字序列。下面就对上面的介绍做一个实验,尤其注意相同种子时的结果,如果用默认的构造方法构造对象,他们是属于同一个种子的。例:random类import java.util.random;public class testrandom public static void main(string args) random r1 = new random(50); system.out.println("第一个种子为50的random对象"); system.out.println("r1.nextbool

34、ean():t" + r1.nextboolean(); system.out.println("r1.nextint():tt" + r1.nextint(); system.out.println("r1.nextdouble():t" + r1.nextdouble(); system.out.println("r1.nextgaussian():t" + r1.nextgaussian(); system.out.println("_"); random r2 = new random(50);

35、system.out.println("第二个种子为50的random对象"); system.out.println("r2.nextboolean():t" + r2.nextboolean(); system.out.println("r2.nextint():tt" + r2.nextint(); system.out.println("r2.nextdouble():t" + r2.nextdouble(); system.out.println("r2.nextgaussian():t&quo

36、t; + r2.nextgaussian(); system.out.println("_"); random r3 = new random(100); system.out.println("种子为100的random对象"); system.out.println("r3.nextboolean():t" + r3.nextboolean(); system.out.println("r3.nextint():tt" + r3.nextint(); system.out.println("r3.ne

37、xtdouble():t" + r3.nextdouble(); system.out.println("r3.nextgaussian():t" + r3.nextgaussian(); system.out.println("结果一目了然!"); 结果:第一个种子为50的random对象r1.nextboolean(): truer1.nextint(): -1727040520r1.nextdouble(): 0.6141579720626675r1.nextgaussian(): 2.377650302287946_第二个种子为50的r

38、andom对象r2.nextboolean(): truer2.nextint(): -1727040520r2.nextdouble(): 0.6141579720626675r2.nextgaussian(): 2.377650302287946_种子为100的random对象r3.nextboolean(): truer3.nextint(): -1139614796r3.nextdouble(): 0.19497605734770518r3.nextgaussian(): 0.67622081629038594vector类该类实现了list接口,用户可以对list中每个元素的插入位置

39、进行精确地控制。也可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。与 set 不同,vector通常允许重复的元素。vector 类可以实现可增长的对象数组。它的大小可以根据需要增大或缩小,以适应创建 vector 后进行添加或移除项的操作。1)构造方法:vector()构造一个空向量,使其内部数据数组的大小为 10,其标准容量增量为零。 vector(collection<? extends e> c) 构造一个包含指定集合中的元素的向量,这些元素按其集合的迭代器返回元素的顺序排列。 vector(int initialcapacity)使用指定的初始容量和

40、等于零的容量增量构造一个空向量。 vector(int initialcapacity, int capacityincrement)使用指定的初始容量和容量增量构造一个空的向量。2)方法:1public void setsize(int newsize)设置此向量的大小。如果新大小大于当前大小,则会在向量的末尾添加相应数量的 null 项。如果新大小小于当前大小,则丢弃索引 newsize 处及其之后的所有项。2public int capacity()返回此向量的当前容量。 3public int size()返回此向量中的组件数。 4public boolean isempty()测试此

41、向量是否不包含组件。 5public int indexof(object elem)搜索给定参数的第一个匹配项,使用 equals 方法测试相等性。6public e elementat(int index)返回指定索引处的组件。7public e firstelement()返回此向量的第一个组件(位于索引 0 处的项)。 8public e lastelement()返回此向量的最后一个组件。 9public void setelementat(e obj, int index)将此向量指定 index 处的组件设置为指定的对象。丢弃该位置以前的组件。索引必须为一个大于或等于 0 且小于

42、向量当前大小的值。此方法的功能与 set 方法的功能完全相同(后者是 list 接口的一部分)。请注意,set 方法将反转参数的顺序,与数组用法更为匹配。另外还要注意,set 方法将返回以前存储在指定位置的旧值。10public void removeelementat(int index)删除指定索引处的组件。此向量中的每个索引大于或等于指定 index 的组件都将下移,使其索引值变成比以前小 1 的值。此向量的大小将减 1。索引必须为一个大于或等于 0 且小于向量当前大小的值。11public void insertelementat(e obj,int index)将指定对象作为此向量中

43、的组件插入到指定的 index 处。此向量中的每个索引大于或等于指定 index 的组件都将向上移位,使其索引值变成比以前大 1 的值。索引必须为一个大于或等于 0 且小于或等于向量当前大小的值(如果索引等于向量的当前大小,则将新元素追加到向量)。12public void addelement(e obj)将指定的组件添加到此向量的末尾,将其大小增加 1。如果向量的大小比容量大,则增大其容量。 此方法的功能与 add(object) 方法的功能完全相同(后者是 list 接口的一部分)。 13public boolean removeelement(object obj)从此向量中移除变量的

44、第一个(索引最小的)匹配项。如果在此向量中找到该对象,那么向量中索引大于或等于该对象索引的每个组件都会下移,使其索引值变成比以前小 1 的值。此方法的功能与 remove(object) 方法的功能完全相同(后者是 list 接口的一部分)。 14public void removeallelements()从此向量中移除全部组件,并将其大小设置为零。此方法的功能与 clear 方法的功能完全相同(后者是 list 接口的一部分)。 15public e get(int index)返回向量中指定位置的元素。 16public boolean add(e o)将指定元素追加到此向量的末尾。 1

45、7public boolean remove(object o)移除此向量中指定元素的第一个匹配项,如果向量不包含该元素,则元素保持不变。18public void add(int index,e element)在此向量的指定位置插入指定的元素。将当前位于该位置的元素(如果有)及所有后续元素右移(将其索引加 1)。 19public void clear()从此向量中移除所有元素。此调用返回后,向量将为空(除非抛出了异常)。 例:输入一串数字,求每位的和import java.util.*;class testvector public static void main(string arg

46、s) int b=0,sum=0; vector<integer> v=new vector<integer>();/<>括号内指明该集合存储元素的类型 system.out.println("please input number:"); while(true) try b=system.in.read(); catch(exception e) if(b='r'|b='n')break; else int num=b-'0' v.addelement(new integer(num);

47、for(int i=0;i<v.size();i+) sum+=( integer)(v.elementat(i).intvalue(); system.out.println("total is:"+sum); 5arraylist类arraylist类大致上等同于 vector 类,也实现了list接口,但是此类是不同步的,而vector类是同步的,每个 arraylist 实例都有一个容量。该容量是指用来存储列表元素的数组的大小,随着向 arraylist 中不断添加元素,其容量也自动增长。1)构造方法: arraylist()构造一个初始容量为 10 的空列表

48、。 arraylist(collection<? extends e> c)构造一个包含指定 collection 的元素的列表,这些元素是按照该 collection 的迭代器返回它们的顺序排列的。 arraylist(int initialcapacity)构造一个具有指定初始容量的空列表。2)常用方法:boolean add(e o) 将指定的元素追加到此列表的尾部。void add(int index, e element)将指定的元素插入此列表中的指定位置。 boolean addall(collection<? extends e> c)按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素追加到此列表的尾部。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论