常用的Java系统类.ppt

上传人:sccc 文档编号:5937367 上传时间:2023-09-06 格式:PPT 页数:45 大小:274.54KB
返回 下载 相关 举报
常用的Java系统类.ppt_第1页
第1页 / 共45页
常用的Java系统类.ppt_第2页
第2页 / 共45页
常用的Java系统类.ppt_第3页
第3页 / 共45页
常用的Java系统类.ppt_第4页
第4页 / 共45页
常用的Java系统类.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《常用的Java系统类.ppt》由会员分享,可在线阅读,更多相关《常用的Java系统类.ppt(45页珍藏版)》请在三一办公上搜索。

1、Java语言与JBuilder应用初步第六章 常用的Java系统类,本章要点,字符串类数值(Number)类及其子类数组类集合类Object类,字符串类,字符串是编程中很常用的数据类型Java语言提供两种字符串类用来实现字符串操作:String类:用于字符串常量,也就是说字符串的值不会改变StringBuffer类:用于字符串变量,也就是说字符串的值可以改变,字符串类,字符串的使用例题例:将输入的字符串颠倒。public class StringsDemo public static void main(String args)String palindrome=僧游云隐寺;int len=p

2、alindrome.length();StringBuffer dest=new StringBuffer(len);for(int i=(len-1);i=0;i-)dest.append(palindrome.charAt(i);System.out.println(dest.toString();,字符串类,String对象的其它产生方法/生成一个空的字符串String myStr=new String();/复制String对象的内容String oldStr=东岳泰山;String myStr1=new String(oldStr);/复制StringBuffer对象的内容Strin

3、gBuffer oldStr2=new StringBuffer(西岳华山);String myStr2=new String(oldStr2);/复制字符数组的内容char oldStr3=南,岳,衡,山;String myStr3=new String(oldStr3);,字符串类,StringBuffer对象的产生只能用new关键字产生,有3种构造方法:/生成一个空的字符串,这个字符串的初始容量为16个字符,但以后可以扩展StringBuffer myStrBuf1=new StringBuffer();/生成一个空的字符串,这个字符串的初始容量由length指定。/在本例中,字符串的初

4、始容量为120个字符。int length=120;StringBuffer myStrBuf2=new StringBuffer(length);/复制String对象中的内容String str=北岳恒山;StringBuffer myStrBuf3=new StringBuffer(str);,字符串类,字符串长度和字符串容量如果StringBuffer对象要存放的字符数大于它的容量,StringBuffer对象会自动扩大字符串容量,以放下更多的字符 myStrBuf1.append(东岳泰山、西岳华山、南岳衡山、北岳恒山、中岳嵩山);System.out.println(myStrBu

5、f1.capacity();程序显示结果:34,字符串类,字符串的访问操作length()函数:获取字符串的长度适用于String对象和StringBuffer对象String myStr=僧游云隐寺;StringBuffer myStr2=new StringBuffer(五岳归来不看山);int strlen1=myStr.length();int strlen2=myStr2.length();变量strlen1中保存myStr的长度,值为5变量strlen2中保存myStr2的长度,值为7,字符串类,字符串的访问操作capacity函数:得到字符串容量仅适用于StringBuffer对

6、象charAt()函数:获得字符串中的某个字符适用于String对象和StringBuffer对象char myChar1,myChar2;String myStr=僧游云隐寺;StringBuffer myStr2=new StringBuffer(五岳归来不看山);myChar1=myStr.charAt(0);myChar2=myStr2.charAt(6);,字符串类,字符串的访问操作要循环获得字符串里的所有字符,循环应当从0开始,直到字符串长度-1为止StringBuffer myStr2=new StringBuffer(五岳归来不看山);for(int i=0;i myStr2.

7、length();i+)System.out.println(myStr2.charAt(i);,字符串类,字符串的访问操作substring函数:获得字符串的子串 String substring(int start);返回从start指定的位置开始(包括这个字符),直到整个字符串终了的所有子串 String substring(int start,int end);返回从start开始(包括这个字符),直到end为止(不包括这个字符)的子串,字符串类,字符串的访问操作例1:StringBuffer myStr2=new StringBuffer(五岳归来不看山);String subStr

8、=myStr2.substring(2);substring首先在字符串中寻找索引为2的位置,就是“归”字,包括“归”字之后的所有字符都包括在子串内,最后返回的子串subStr为“归来不看山”,如下图所示,字符串类,字符串的访问操作例2:StringBuffer myStr2=new StringBuffer(五岳归来不看山);String subStr=myStr2.substring(2,6);首先寻找索引2的字符,就是“归”字,以此为开始字符;再寻找索引6的字符,就是“山”字,以它之前的“看”字为结尾字符,返回的子串subStr为“归来不看”,如下图所示,字符串类,字符串的访问操作sub

9、string允许第二个参数的值等于字符串长度,也就是说,myStr2.substring(2,7)是可以接受的,substring函数认为这表示字符串的结尾,但第二个参数不能大于字符串长度。myStr2.substring(2,7)返回的结果是“归来不看山”,如下图所示:,字符串类,字符串的访问操作indexOf和lastIndexOf函数:搜索字符位置适用于String对象和StringBuffer对象indexOf函数的作用是从前往后搜索字符第一次出现的位置lastIndexOf函数的作用是从后往前搜索字符第一次出现的位置indexOf和lastIndexOf函数有很多种用法,字符串类,字

10、符串的访问操作indexOf的使用例题:public class StringDemo public static void main(String args)String str1=东岳泰山、西岳华山、南岳衡山、北岳恒山、中岳嵩山;char subChar1=岳;int pos1;System.out.println(这段诗中出现“岳”字的位置分别是:);pos1=str1.indexOf(subChar1);while(pos1=0)System.out.println(pos1);pos1=str1.indexOf(subChar1,pos1+1);,字符串类,字符串的修改操作appen

11、d函数:在字符串末尾添加新的内容append函数的形式:append(boolean b);append(char c);append(char str);append(char str,int offset,int len);append(double d);append(float f);append(int i);append(long l);append(String str);append(StringBuffer strbuf);,字符串类,字符串的修改操作insert函数:在字符串中的特定位置插入一段子字符串insert函数也有多种形式,可以插入整数、浮点数、逻辑值、单个字符、字

12、符串等例题:StringBuffer mainStr=new StringBuffer(黄河远上白云一片孤城万仞山);String subStr=间;mainStr.insert(6,subStr);System.out.println(mainStr);,字符串类,字符串的修改操作setCharAt函数和replace函数:修改字符串setCharAt(int index,char ch);replace(int start,int end,String str);,字符串类,字符串的修改操作例题:StringBuffer modiStr=new StringBuffer(When i am

13、 young,Id listening to the radio);modiStr.setCharAt(5,I);modiStr.replace(7,9,was);System.out.println(modiStr);,字符串类,字符串的修改操作deleteCharAt,delete函数:删除字符串deleteCharAt(int index);delete(int start,int end);,字符串类,字符串的转换操作toString函数:对象转换为字符串Object类中定义了toString函数,因此所有的类也都继承了toString函数因此Java建议每个类覆盖Object类的to

14、String函数,产生适合自己类的字符串,字符串类,字符串的转换操作valueOf函数:将数值转换成字符串static String String.valueOf(boolean b);static String String.valueOf(int i);static String String.valueOf(long l);static String String.valueOf(float f);static String String.valueOf(double d);static String String.valueOf(char c);static String String

15、.valueOf(char data);static String String.valueOf(char data,int offset,int count);,字符串类,字符串的连接double d=1032705.32;System.out.println(上月底,本公司的帐面资金余额为:+d+元。);,字符串类,字符串的连接对于String对象,包括字符串文字,可以用“+”将两个或多个字符串连接起来,形成新的字符串。如下面的例子:String str1,str2,str3;str1=君不见+黄河之水天上来;str2=奔流到海不复回;str3=str1+str2;,字符串类,字符串的连接

16、也可以用“+”号连接字符串和整数、浮点数、逻辑值、字符等Java自动调用String.valueOf()函数将后者转换成字符串凡是能够用valueOf函数转换的数据类型,都可以用“+”号与字符串连接,数值(Number)类及其子类,数值类的定义与功能在Java中,对应byte,short,int,long,float,double等简单数据类型,分别有一个对应的数值类:Byte,Short,Integer,Long,Float,Double它们都是从数值类Number继承而来的数值类的作用是扩展数据处理的功能,数值(Number)类及其子类,数值类的用途将数字转换成字符串:每个数值类都有toS

17、tring静态函数:static String Byte.toString(byte b);static String Short.toString(short s);static String Integer.toString(int i);static String Long.toString(long l);static String Float.toString(float f);static String Double.toString(double d);函数的作用是将整数或浮点数转换成字符串,数值(Number)类及其子类,数值类的用途toString函数应用例题:int i=7

18、;double d=13.56;String str1,str2;str1=Integer.toString(i);str2=Double.toString(d);System.out.println(str1=+str1+;str2=+str2+;);执行这段代码之后,屏幕显示的内容是:str1=7;str2=13.56;,数值(Number)类及其子类,数值类的用途将字符串转化为数字:valueOf函数:static Integer Integer.valueOf(String str);static Double Double.valueOf(String str);valueOf函数返

19、回的是Integer或Double型对象,还需转换成整数或浮点数:int Integer.intValue();double Double.doubleValue();,数值(Number)类及其子类,数值类的用途将字符串转化为数值的例题:String str1=3532;String str2=187.863;Integer strval1;Double strval2;strval1=Integer.valueOf(str1);strval2=Double.valueOf(str2);int i=strval1.intValue();double d=strval2.doubleValue

20、();System.out.println(i=+i+;d=+d+;);,数值(Number)类及其子类,数值类的用途这种方法需要转换两次,使用比较繁琐,另外一种方法只需要一次转换:static int Integer.parseInt(String str);static double Double.parseDouble(String str);这两个函数都是静态函数,因此不需要建立Integer或Double对象,可以直接使用,数值(Number)类及其子类,几种特殊的浮点数Java中的浮点数可以包括“非数”,“正无穷大”,“负无穷大”。例如下面的代码:System.out.printl

21、n(0.0/0.0);System.out.println(1.0/0.0);System.out.println(-1.0/0.0);,数值(Number)类及其子类,几种特殊的浮点数Double类提供了两个静态函数,来判断一个浮点数是不是这三种特殊数值:static boolean Double.isNaN(double v);static boolean Double.isInfinite(double v);由此可以及时发现错误的计算数据,数组类,数组的定义与特点数组:可以容纳很多同类型的数据的结构数组中存放的每个数据称为数组的一个元素,元素的数量称为数组的长度在Java语言中,数组的

22、长度是在数组创立时就固定了的,以后不能更改但与C+等语言不同,Java的数组长度是在运行期定下来的,而不是在设计期给定长度。因此灵活性更强一些,数组类,数组的定义与初始化与普通变量一样,数组也是由定义、初始化两部分组成的数组变量的定义与普通变量一样,只是在变量类型的后面加上“”以表示数组:int array1;double array2;StringBuffer array3;BoardGame array4;,数组类,数组的定义与初始化数组也是用new关键字来初始化的,初始化时必须给出数组的长度,如下所示:int len=8;array1=new int10;array2=new doubl

23、elen-1;array3=new StringBufferlen*2;array4=new BoardGame15;虽然也是固定长度数组,但可以在运行时用变量来指定数组长度,数组类,快速初始化数组的方法Java提供了一种简便的方法,可以将数组的定义、初始化和赋初值合为一体:int myData1=0,1,3,6,8,12,634,21564,845646;String myStr1=明月出天山,苍茫云海间,长风几万里,吹度玉门关,汉下白登道,胡窥青海湾,由来征战地,不见有人还,戍客望边色,思归多苦颜,高楼当此夜,叹息未应闲,;,数组类,数组的复制数组变量也属于引用变量,因此赋值语句只能复制指

24、针,而不能复制整个数组:String myStr2;myStr2=myStr1;为了复制数组,需要使用System.arraycopy函数,该函数的形式如下:public static void System.arraycopy(Object src,int srcIndex,Object dest,int destIndex,int length);,数组类,数组的复制例题public class ArrayCopyDemo public static void main(String args)char copyFrom=d,e,c,a,f,f,e,i,n,a,t,e,d;char cop

25、yTo=new char7;System.arraycopy(copyFrom,2,copyTo,0,7);System.out.println(new String(copyTo);,数组类,多重数组数组的元素也是数组,可表示数据表格:int MagicSquare=8,1,6,3,5,7,4,9,2,;多重数组中的元素用的形式访问,如:System.out.println(MagicSquare11);,集合类,集合类的功能如果要求长度可变,就不能使用数组,而应当使用集合类。这里简单介绍集合中的向量类,它在功能上最接近于数组Vector类的使用例题:public class VectorD

26、emo public static void main(String args)Vector strs=new Vector();for(int i=0;i5;i+)strs.addElement(Integer.toString(i);for(int i=0;istrs.size();i+)System.out.println(String)strs.elementAt(i);,Object类,Object类的作用在Java中,所有的类,不管有没有定义其父类,都以Object类作为直接或间接的父类也就是说,所有的类都继承自Object类Object类定义了基本的成员变量和成员函数对象间的比较

27、将对象转换成字符串线程的等待与通知返回对象所属的类,Object类,Object类的成员函数clone:将对象复制一份,并返回复制后的对象的指针。equals/hashcode:比较两个对象是否相等。finalize:当对象被回收时调用的,仅用于混合语言编程时,回收动态分配内存用。toString:将对象转换成恰当的字符串。,Object类,Object类的成员函数getClass:获得当前对象所属的类,返回的是Class对象,可以用obj.getClass().getName()来获得类名notify:唤醒一个处于等待状态的线程notifyAll:唤醒所有处于等待状态的线程wait:让当前线程等待,直到其它线程通过notify或notifyAll函数唤醒为止,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号