




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言与JBuilder应用初步第六章常用的Java系统类,本章要点,字符串类数值(Number)类及其子类数组类集合类Object类,字符串类,字符串是编程中很常用的数据类型Java语言提供两种字符串类用来实现字符串操作:String类:用于字符串常量,也就是说字符串的值不会改变StringBuffer类:用于字符串变量,也就是说字符串的值可以改变,字符串类,字符串的使用例题例:将输入的字符串颠倒。publicclassStringsDemopublicstaticvoidmain(Stringargs)Stringpalindrome=僧游云隐寺;intlen=palindrome.length();StringBufferdest=newStringBuffer(len);for(inti=(len-1);i=0;i-)dest.append(palindrome.charAt(i);System.out.println(dest.toString();,字符串类,String对象的其它产生方法/生成一个空的字符串StringmyStr=newString();/复制String对象的内容StringoldStr=东岳泰山;StringmyStr1=newString(oldStr);/复制StringBuffer对象的内容StringBufferoldStr2=newStringBuffer(西岳华山);StringmyStr2=newString(oldStr2);/复制字符数组的内容charoldStr3=南,岳,衡,山;StringmyStr3=newString(oldStr3);,字符串类,StringBuffer对象的产生只能用new关键字产生,有3种构造方法:/生成一个空的字符串,这个字符串的初始容量为16个字符,但以后可以扩展StringBuffermyStrBuf1=newStringBuffer();/生成一个空的字符串,这个字符串的初始容量由length指定。/在本例中,字符串的初始容量为120个字符。intlength=120;StringBuffermyStrBuf2=newStringBuffer(length);/复制String对象中的内容Stringstr=北岳恒山;StringBuffermyStrBuf3=newStringBuffer(str);,字符串类,字符串长度和字符串容量如果StringBuffer对象要存放的字符数大于它的容量,StringBuffer对象会自动扩大字符串容量,以放下更多的字符myStrBuf1.append(东岳泰山、西岳华山、南岳衡山、北岳恒山、中岳嵩山);System.out.println(myStrBuf1.capacity();程序显示结果:34,字符串类,字符串的访问操作length()函数:获取字符串的长度适用于String对象和StringBuffer对象StringmyStr=僧游云隐寺;StringBuffermyStr2=newStringBuffer(五岳归来不看山);intstrlen1=myStr.length();intstrlen2=myStr2.length();变量strlen1中保存myStr的长度,值为5变量strlen2中保存myStr2的长度,值为7,字符串类,字符串的访问操作capacity函数:得到字符串容量仅适用于StringBuffer对象charAt()函数:获得字符串中的某个字符适用于String对象和StringBuffer对象charmyChar1,myChar2;StringmyStr=僧游云隐寺;StringBuffermyStr2=newStringBuffer(五岳归来不看山);myChar1=myStr.charAt(0);myChar2=myStr2.charAt(6);,字符串类,字符串的访问操作要循环获得字符串里的所有字符,循环应当从0开始,直到字符串长度-1为止StringBuffermyStr2=newStringBuffer(五岳归来不看山);for(inti=0;i=0)System.out.println(pos1);pos1=str1.indexOf(subChar1,pos1+1);,字符串类,字符串的修改操作append函数:在字符串末尾添加新的内容append函数的形式:append(booleanb);append(charc);append(charstr);append(charstr,intoffset,intlen);append(doubled);append(floatf);append(inti);append(longl);append(Stringstr);append(StringBufferstrbuf);,字符串类,字符串的修改操作insert函数:在字符串中的特定位置插入一段子字符串insert函数也有多种形式,可以插入整数、浮点数、逻辑值、单个字符、字符串等例题:StringBuffermainStr=newStringBuffer(黄河远上白云一片孤城万仞山);StringsubStr=间;mainStr.insert(6,subStr);System.out.println(mainStr);,字符串类,字符串的修改操作setCharAt函数和replace函数:修改字符串setCharAt(intindex,charch);replace(intstart,intend,Stringstr);,字符串类,字符串的修改操作例题:StringBuffermodiStr=newStringBuffer(Wheniamyoung,Idlisteningtotheradio);modiStr.setCharAt(5,I);modiStr.replace(7,9,was);System.out.println(modiStr);,字符串类,字符串的修改操作deleteCharAt,delete函数:删除字符串deleteCharAt(intindex);delete(intstart,intend);,字符串类,字符串的转换操作toString函数:对象转换为字符串Object类中定义了toString函数,因此所有的类也都继承了toString函数因此Java建议每个类覆盖Object类的toString函数,产生适合自己类的字符串,字符串类,字符串的转换操作valueOf函数:将数值转换成字符串staticStringString.valueOf(booleanb);staticStringString.valueOf(inti);staticStringString.valueOf(longl);staticStringString.valueOf(floatf);staticStringString.valueOf(doubled);staticStringString.valueOf(charc);staticStringString.valueOf(chardata);staticStringString.valueOf(chardata,intoffset,intcount);,字符串类,字符串的连接doubled=1032705.32;System.out.println(上月底,本公司的帐面资金余额为:+d+元。);,字符串类,字符串的连接对于String对象,包括字符串文字,可以用“+”将两个或多个字符串连接起来,形成新的字符串。如下面的例子:Stringstr1,str2,str3;str1=君不见+黄河之水天上来;str2=奔流到海不复回;str3=str1+str2;,字符串类,字符串的连接也可以用“+”号连接字符串和整数、浮点数、逻辑值、字符等Java自动调用String.valueOf()函数将后者转换成字符串凡是能够用valueOf函数转换的数据类型,都可以用“+”号与字符串连接,数值(Number)类及其子类,数值类的定义与功能在Java中,对应byte,short,int,long,float,double等简单数据类型,分别有一个对应的数值类:Byte,Short,Integer,Long,Float,Double它们都是从数值类Number继承而来的数值类的作用是扩展数据处理的功能,数值(Number)类及其子类,数值类的用途将数字转换成字符串:每个数值类都有toString静态函数:staticStringByte.toString(byteb);staticStringShort.toString(shorts);staticStringInteger.toString(inti);staticStringLong.toString(longl);staticStringFloat.toString(floatf);staticStringDouble.toString(doubled);函数的作用是将整数或浮点数转换成字符串,数值(Number)类及其子类,数值类的用途toString函数应用例题:inti=7;doubled=13.56;Stringstr1,str2;str1=Integer.toString(i);str2=Double.toString(d);System.out.println(str1=+str1+;str2=+str2+;);执行这段代码之后,屏幕显示的内容是:str1=7;str2=13.56;,数值(Number)类及其子类,数值类的用途将字符串转化为数字:valueOf函数:staticIntegerInteger.valueOf(Stringstr);staticDoubleDouble.valueOf(Stringstr);valueOf函数返回的是Integer或Double型对象,还需转换成整数或浮点数:intIValue();doubleDouble.doubleValue();,数值(Number)类及其子类,数值类的用途将字符串转化为数值的例题:Stringstr1=3532;Stringstr2=187.863;Integerstrval1;Doublestrval2;strval1=Integer.valueOf(str1);strval2=Double.valueOf(str2);inti=Value();doubled=strval2.doubleValue();System.out.println(i=+i+;d=+d+;);,数值(Number)类及其子类,数值类的用途这种方法需要转换两次,使用比较繁琐,另外一种方法只需要一次转换:staticintInteger.parseInt(Stringstr);staticdoubleDouble.parseDouble(Stringstr);这两个函数都是静态函数,因此不需要建立Integer或Double对象,可以直接使用,数值(Number)类及其子类,几种特殊的浮点数Java中的浮点数可以包括“非数”,“正无穷大”,“负无穷大”。例如下面的代码:System.out.println(0.0/0.0);System.out.println(1.0/0.0);System.out.println(-1.0/0.0);,数值(Number)类及其子类,几种特殊的浮点数Double类提供了两个静态函数,来判断一个浮点数是不是这三种特殊数值:staticbooleanDouble.isNaN(doublev);staticbooleanDouble.isInfinite(doublev);由此可以及时发现错误的计算数据,数组类,数组的定义与特点数组:可以容纳很多同类型的数据的结构数组中存放的每个数据称为数组的一个元素,元素的数量称为数组的长度在Java语言中,数组的长度是在数组创立时就固定了的,以后不能更改但与C+等语言不同,Java的数组长度是在运行期定下来的,而不是在设计期给定长度。因此灵活性更强一些,数组类,数组的定义与初始化与普通变量一样,数组也是由定义、初始化两部分组成的数组变量的定义与普通变量一样,只是在变量类型的后面加上“”以表示数组:intarray1;doublearray2;StringBufferarray3;BoardGamearray4;,数组类,数组的定义与初始化数组也是用new关键字来初始化的,初始化时必须给出数组的长度,如下所示:intlen=8;array1=newint10;array2=newdoublelen-1;array3=newStringBufferlen*2;array4=newBoardGame15;虽然也是固定长度数组,但可以在运行时用变量来指定数组长度,数组类,快速初始化数组的方法Java提供了一种简便的方法,可以将数组的定义、初始化和赋初值合为一体:intmyData1=0,1,3,6,8,12,634,21564,845646;StringmyStr1=明月出天山,苍茫云海间,长风几万里,吹度玉门关,汉下白登道,胡窥青海湾,由来征战地,不见有人还,戍客望边色,思归多苦颜,高楼当此夜,叹息未应闲,;,数组类,数组的复制数组变量也属于引用变量,因此赋值语句只能复制指针,而不能复制整个数组:StringmyStr2;myStr2=myStr1;为了复制数组,需要使用System.arraycopy函数,该函数的形式如下:publicstaticvoidSystem.arraycopy(Objectsrc,intsrcIndex,Objectdest,intdestIndex,intlength);,数组类,数组的复制例题publicclassArrayCopyDemopublicstaticvoidmain(Stringargs)charcopyFrom=d,e,c,a,f,f,e,i,n,a,t,e,d;charcopyTo=newchar7;System.arraycopy(copyFrom,2,copyTo,0,7);System.out.println(newString(copyTo);,数组类,多重数组数组的元素也是数组,可表示数据表格:intMagicSquare=8,1,6,3,5,7,4,9,2,;多重数组中的元素用的形式访问,如:System.out.println(MagicSquare11);,集合类,集合类的功能如果要求长度可变,就不能使用数组,而应当使用集合类。这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/TS 5770:2025 EN Fine ceramics (advanced ceramics,advanced technical ceramics) - Relative method for determining thermal conductivity of ceramic coatings
- 【正版授权】 IEC 62841-4-3:2020/AMD1:2025 EN-FR Amendment 1 - Electric motor-operated hand-held tools,transportable tools and lawn and garden machinery - Safety - Part 4-3: Particular r
- 【正版授权】 IEC 60598-2-1:1979 EN-D Luminaires. Part 2: Particular requirements. Section One: Fixed general purpose luminaires
- 【正版授权】 IEC 60335-2-71:2002/AMD1:2007 FR-D Amendment 1 - Household and similar electrical appliances - Safety - Part 2-71: Particular requirements for electrical heating appliances
- 校园食品安全知识培训课件
- 北山公园卫生知识培训课件
- 2026届湖北省宜昌市二中化学高二第一学期期末达标检测模拟试题含答案
- 大肠心理测试题及答案
- 光纤光学试题及答案
- 江苏海事面试题及答案
- 高考3500词汇表(完整版)
- JJF1059.1测量不确定度评定培训讲演稿
- 人教版新目标初中英语Go-for-it!单词大全(音标齐全-已反复校对-单词分类-便于识记)
- 人体解剖学与组织胚胎学(高职)全套教学课件
- 二年级上册语文教材解读-
- 学校文印室及时服务方案
- 毛振明《体育教学论》(第3版)配套题库【课后习题+专项题库】
- 集团公司内部资金调剂管理办法
- 思想道德与法治课件:专题五在实现中国梦的实践中放飞青春梦想
- 新人教A必修一《集合》课件
- 复用器械处理流程
评论
0/150
提交评论