publicStringsubstringintbeginIndex返回一个新的字符串.ppt_第1页
publicStringsubstringintbeginIndex返回一个新的字符串.ppt_第2页
publicStringsubstringintbeginIndex返回一个新的字符串.ppt_第3页
publicStringsubstringintbeginIndex返回一个新的字符串.ppt_第4页
publicStringsubstringintbeginIndex返回一个新的字符串.ppt_第5页
免费预览已结束,剩余53页可下载查看

下载本文档

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

文档简介

第7章Java库常见类,第7章Java库常见类,在进行Java编程的时候,常常需要不断引用Java类库所提供的类,这些类对程序质量起到至关重要的作用,本章将介绍其中基本、最常用的类。,7.1基本类型的类包装,由于基本数据类型不提供对其进行操作的方法,Java提供了基本数据类型相关的类,实现了对基本数据类型的封装,这些类所提供的方法足以满足对数据进行操作的需要。基本数据类型包括byte、int、short、long、float、double、char,相应的类在java.lang包中,分别是Byte、Integer、Short、Long、Float、Double和Character类。,7.1基本类型的类包装,7.1.1Float类和Double类对float、double基本型数据的类包装。使用Float类的构造方法:Float(Floatnum)创建一个Float类型的对象;使用Double的构造方法:Double(doublenum)创建一个Double类型的对象。,7.1基本类型的类包装,7.1.1Float类和Double类对float、double基本型数据的类包装。Float对象调用floatValue()方法可以返回该对象含有的float型数据。Double对象调用doubleValue()方法可以返回该对象含有的double型数据。,7.1基本类型的类包装,7.1.2Byte、Integer、Short类和Long类下述构造方法分别创建Byte、Integer、Short和Long类型的对象:Byte(bytenum)Integer(intnum)Short(shortnum)Long(longnum)Byte、Integer、Short和Long对象分别调用byteValue()、intValue()、shortValue()和longValue()方法,返回该对象含有的基本型数据,7.1基本类型的类包装,7.1.3Character类使用Character类的构造方法:Character(charc)创建一个Character类型的对象。Character对象调用charValue()方法可以返回该对象含有的char型数据。需要注意的是,Character类还另外包含了一些类方法,这些方法可以直接通过类名调用,用来进行字符分类。,7.1基本类型的类包装,7.1.3Character类Character类中的一些常用方法如表7-1所示。表7-1Character类中的一些常用方法,7.1基本类型的类包装,7.1.3Character类【例7-1】将一个字符数组中的小写字母变成大写字母,并将大写字母变成小写字母。1)在包“ch7”中创建可视类“Ex7_1”,在程序界面中添加一个按钮(参见例6-2),为按钮添加事件代码。2)程序运行结果如图所示。,7.1基本类型的类包装,7.1.4String类Java使用java.lang包中的String类来创建字符串。1.创建字符串字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为String对象是不可变的,所以可以共享。例如:Stringstr=abc;等效于:chardata=a,b,c;Stringstr=newString(data);,7.1基本类型的类包装,7.1.4String类1.创建字符串(1)先声明后创建Strings;s=newString(abc);(2)声明和创建一步完成Strings=newString(abc);(3)用已创建的字符串创建另一个字符串Stringb=String(a);(4)利用其它String类的构造方法,7.1基本类型的类包装,7.1.4String类2.获取一个字符串的长度方法:publicintlength()可以获取一个字符串的长度,例如:Stringtom=newString(tom);Stringjerry=newString(jerry);n1=tom.length();/字符串长度为3n2=jerry.length();/字符串长度为5,7.1基本类型的类包装,7.1.4String类3.返回指定索引处的char值方法:publiccharcharAt(intindex)返回指定索引处的char值,索引范围为从0到length()1。例如:c=tom.charAt(2);/m,7.1基本类型的类包装,7.1.4String类4.字符串比较方法:publicbooleanequals(ObjectanObject)当且仅当该参数不为null,并且是与此对象表示相同字符序列的String对象时,结果才为true.例如:Stringman=newString(tom);man.equals(tom);/trueman.equals(jerry);/falsepublicbooleanequalsIgnoreCase(StringanotherString)将此String与另一个String比较,不考虑大小写。,7.1基本类型的类包装,7.1.4String类5.比较两个字符串方法:publicintcompareTo(StringanotherString)按字典顺序将该String对象表示的字符序列与参数字符串所表示的字符序列进行比较。Stringstr=newString(ton);pareTo(str);/小于pareTo(jerry);/大于pareTo(man);/等于0,7.1基本类型的类包装,7.1.4String类5.比较两个字符串字符串对象调用publicintcompareToIgnoreCase(Stringstr)方法,该方法不考虑大小写。,7.1基本类型的类包装,7.1.4String类6.返回字符在字符串中第一次出现处的索引方法:publicintindexOf(intch)返回指定字符在此字符串中第一次出现处的索引。如果在此String对象表示的字符序列中出现值为ch的字符,则返回第一次出现该字符的索引。如果没有检索到字符ch,该方法返回-1。,7.1基本类型的类包装,7.1.4String类6.返回字符在字符串中第一次出现处的索引方法:publicintindexOf(Stringstr)从当前字符串的头开始检索字符串str,并返回首次出现str的位置。如果没有检索到字符串,该方法返回-1。,7.1基本类型的类包装,7.1.4String类6.返回字符在字符串中第一次出现处的索引方法:publicintindexOf(Stringstr,intfromIndex)从当前字符串的fromIndex位置处开始检索字符串str,并返回首次出现str的位置。,7.1基本类型的类包装,7.1.4String类6.返回字符在字符串中第一次出现处的索引方法:publicintlastIndexOf(Stringstr)从当前字符串的头开始检索字符串str,并返回最后出现str的位置。,7.1基本类型的类包装,7.1.4String类6.返回字符在字符串中第一次出现处的索引例如:Stringstu=newString(Iamagoodstudent);stu.indexOf(a);/1stu.indexOf(good);/5stu.indexOf(a,7);/13stu.indexOf(x,7);/-1,7.1基本类型的类包装,7.1.4String类7.返回一个子字符串方法:publicStringsubstring(intbeginIndex)返回一个新的字符串,是此字符串的一个子字符串。该子字符串从指定索引处的字符开始,直到此字符串末尾。,7.1基本类型的类包装,7.1.4String类7.返回一个子字符串方法:publicStringsubstring(intbeginIndex,intendIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的beginIndex处开始,直到索引endIndex-1处的字符。因此,该子字符串的长度为endIndex-beginIndex。例如:stu.substring(7);/“goodstudent”stu.substring(7,11);/“good”,7.1基本类型的类包装,7.1.4String类8.将字符串所有字符都转换为小写方法:publicStringtoLowerCase()将此String中的所有字符都转换为小写。字符串对象调用publicStringtoUpperCase()使用默认语言环境的规则将此String中的所有字符都转换为大写。Stringabc=newString(abcDEF);abc.toLowerCase();/abcdefabc.toUpperCase();/ABCDEF,7.2StringBuffer类,String类创建的字符串对象是不可修改的,使用StringBuffer类可以创建可修改的字符串序列。7.2.1StringBuffer类的构造方法StringBuffer类有三个构造方法:StringBuffer()使用该无参数的构造方法创建的StringBuffer对象,其初始容量可以容纳16个字符。当对象存放的字符串长度大于16时,其容量将自动增加。,7.2StringBuffer类,7.2.1StringBuffer类的构造方法StringBuffer类有三个构造方法:StringBuffer()使用该无参数的构造方法创建的StringBuffer对象,其初始容量可以容纳16个字符。当对象存放的字符串长度大于16时,其容量将自动增加。StringBuffer对象可以通过length()方法获取其存放的字符串的长度,通过capacity()方法获取对象的实际容量。,7.2StringBuffer类,7.2.1StringBuffer类的构造方法StringBuffer(intsize)使用该构造方法创建的StringBuffer对象,其初始容量为参数size指定的字符个数,当对象存放的字符串长度大于size时,其容量将自动增加。StringBuffer(Strings)使用该构造方法创建的StringBuffer对象,其初始容量为参数字符串s的长度外加16个字符。当对象存放的字符串长度大于该长度时,其容量将自动增加。,7.2StringBuffer类,7.2.2StringBuffer类的常用方法StringBuffer类中的一些常用方法如表7-2所示。,7.3时间日期类,7.3.1Data类Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。可以使用DateFormat的子类SimpleDateFormat来实现日期的格式化。,7.3时间日期类,7.3.1Data类SimpleDateFormat有一个常用构造方法:publicSimpleDateFormat(Stringpattern)该构造方法可以用参数pattem指定的格式创建一个对象,该对象调用Format(Datadate)方法格式化时间对象date。,7.3时间日期类,7.3.1Data类【例7-2】用三种格式输出时间。1)在包“ch7”中创建可视类“Ex7_2”,在程序界面中添加一个按钮(参见例6-1),为按钮添加事件代码。2)程序运行结果如图所示。,7.3时间日期类,7.3.2Calendar类Calendar类是一个抽象类,封装在java.util包中,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。这些字段和方法被定义为protected。,7.3时间日期类,7.3.2Calendar类Calendar提供了一个类方法getInstance,以获得此类型的一个通用的对象。Calendar的getInstance方法返回一个Calendar对象:CalendarrightNow=Calendar.getInstance();,7.3时间日期类,7.3.2Calendar类【例7-3】使用Calendar类输出当前月份的日历页。1)在包“ch7”中创建可视类“Ex7_3”,在程序界面中添加一个标签。2)在类的createSShell()方法中添加代码如下:3)程序运行结果如图7-4所示。,7.4数学类,7.4.1Math类在编写程序时,可能需要计算初等指数、对数、平方根和三角函数等。java.lang包中的Math类包含用于执行基本数学运算的方法,这些方法可以直接通过类名调用。另外,Math类还有两个静态变量,即E和PI,它们的值分别是2.718281828459045和3.141592653589793。,7.4数学类,7.4.1Math类Math类的常用方法,7.4数学类,7.4.2NumberFormat类有时可能需要对输出的数字结果进行必要的格式化,可以使用java.text包中的NumberFormat类,该类调用类方法:publicstaticfinalNumberFormatgetInstance()返回当前默认语言环境的通用数值格式,即实例化一个NumberFormat对象,该对象调用publicfinalStringformat(doublenumber)方法可以实例化数字number。,7.4数学类,7.4.2NumberFormat类NumberFormat类的常用方法见表7-5。表7-5NumberFormat类的常用方法,7.4数学类,7.4.2NumberFormat类【例7-4】数字输出样式的格式化。1)在包“ch7”中创建可视类“Ex7_4”,在程序界面中添加一个按钮。为按钮添加事件代码如下:2)程序运行结果如图7-5所示。,7.4数学类,7.4.3BigInteger类程序有时需要处理大整数,java.math包中的BigInteger类提供任意精度的整数运算.构造方法:PublicBigInteger(Stringval)将字符串val转换为整数,然后创建一个十进制的BigInteger对象。该构造方法可以发生NumberFormatException异常,也就是说,字符串参数val中如果含有非数字字符就会发生NumberFormatException异常。,7.4数学类,7.4.3BigInteger类表7-6BigInteger类的常用方法,7.4数学类,7.4.3BigInteger类【例7-5】计算1+2!+.前30项和。1)在包“ch7”中创建可视类“Ex7_5”,在程序界面中添加一个按钮(参见例7-1)。为按钮添加事件代码如下:2)程序运行结果如图7-6所示。,7.4数学类,7.4.4Random类java.util.Random提供了产生各种类型随机数的方法,可以产生int、long、float、double以及Goussian等类型的随机数。(1)Random():建立一个Random类的实例,随机产生种子,用系统时间作为seed。(2)Random(longseed):建立一个Random类的实例,并指定随机数种子。,7.4数学类,7.4.4Random类Random类的方法有如下几个:(1)booleannextBoolean()返回一个任意的布尔值,可能是true也可能是false。(2)doublenextDouble()返回一个任意的浮点数,范围在0.0与1.0之间。(3)floatnextFloat()返回一个任意的浮点数,范围在0.0与1.0之间。,7.4数学类,7.4.4Random类Random类的方法有如下几个:(4)intnextInt()返回一个任意的整数。(5)intnextInt(intn)返回一个任意的整数,范围从0到n-1之间。(6)longnextLong()返回一个任意的长整数。,7.4数学类,7.4.4Random类(7)voidsetSeed(longseed)设置随机数种子。随机数种子会影响随机数的产生情况,如果程序执行时的随机数种子和某一次执行时的一样,则产生的随机数数列会和那次所产生的相同。如果要每次都产生不同的随机数数列,一种方法是都不要使用setSeed方法设置随机数种子;另一种方法是每次都设置不同的随机数种子,该随机数种子往往与当前时间相联系。,7.5实训,7.5.1实训目的1.了解并掌握Java中常见类的使用。7.5.2实训内容1.使用字符串类和字符类要求:使用StringBuffer类的各种方法。【实训7-1】编写一个Java程序,输入一个任意字符串,然后统计其中各字符的数目。,7.4数学类,7.5.2实训内容1.使用字符串类和字符类1)创建Java类。2)添加组件。3)为按钮添加事件响应代码。4)运行程序。,7.4数学类,7.5.2实训内容2.使用时间日期类要求:日历程序中使用日期类Calendar,注意年份与月份数据的提取。【实训7-2】编写一个Java程序,显示月历。可以通过按钮选择上一月和下一月。,7.4数学类,7.5.2实训内容2.使用时间日期类步骤如下:1)在包“ch7”中创建Java类“Prac7_2”,参见实训7-1.2)添加组件。用鼠标右键单击GUI程序界面的任何位置,在快捷菜单中选择“SetLayout”“null”。,7.4数学类,7.5.2实训内容2.使用时间日期类在程序界面中“画”出一个标签label,两个按钮button和button1,并在“属性”窗口分别修改其Text等属性,如图7-9所示,修改label1的textAlignment属性为CENTER以使其中内容居中。3)为类“Prac7_2”编写自定义的“重置”方法。在编辑器中适当位置编写代码,7.4数学类,7.5.2实训内容2.使用时间日期类4)编写初始化代码。在createSShell()方法中添加如下代码:y

温馨提示

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

评论

0/150

提交评论