




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、6.1Java API简介6.2Object类6.3字符串处理类6.4基本数据类型包装类6.5Math类和Random类6.6日期处理类6.7Arrays类6.8Class类6.9案例分析与实现(续3)第6章 Java常用实用类本章教学内容:本章教学内容:本章教学目标:本章教学目标: 理解理解J Java APIava API的概念的概念了解了解ObjectObject类类掌握掌握StringString类、类、StringBufferStringBuffer类和类和StringTokenizerStringTokenizer类类的用法的用法掌握基本数据类型封装类的用法掌握基本数据类型封装类的
2、用法掌握掌握MathMath类和类和RandomRandom类的用法类的用法掌握掌握DateDate类和类和CalendarCalendar类的用法类的用法掌握掌握ArraysArrays类的用法类的用法了解了解ClassClass类的用法类的用法6.1 Java API简介API 就是应用程序编程接口,是一些已写好、可供直接调用的类库。Java API包含的内容很多,本章主要讨论其中两个最基本的包中的主要类:(1)语言包(java.lang)。是Java的核心类库,包含了运行Java程序必不可少的系统类,是Java语言编程使用最频繁的包。为了简化编程,系统默认导入了java.lang包,所以
3、使用java.lang包中的类时可以不用import语句导入。 (2) 实用程序包(java.util)。在这个包中,Java提供了一些实用的方法和数据结构。6.2 Object类Object类是所有类的父类。在Java体系中,所有类都是直接或间接的继承了Object类。如果一个类没有使用 extends 关键字明确标识继承另外一个类,那么这个类就默认继承Object 类。因此,Object 类是 Java 类层中的最高层类,是所有类的超类。换句话说,Java 中任何一个类都是它的子类。1. toString()1. toString()方法方法ObjectObject类中定义了类中定义了pu
4、blic String toString()public String toString()方法,其返方法,其返回值是回值是StringString类型,描述当前对象的有关信息。在进行类型,描述当前对象的有关信息。在进行StringString与其他类型数据(引用类型)的连接操作时或打印与其他类型数据(引用类型)的连接操作时或打印对象时对象时 ,将自动调用该对象的,将自动调用该对象的toString()toString()方法。方法。实例实例6-16-1重新定义Employee类,并重写其toString()方法 。默认情况下默认情况下toString()toString()方法返回的字符串格
5、式是方法返回的字符串格式是“类名类名 哈希码哈希码”,一般情况下需要重写,一般情况下需要重写toString()toString()方法。方法。 2. equals(Object obj)方法equals(Object obj)方法与Java运算符=的含义相同,但用法不同。当两个值比较、对象或变量与值比较、两个变量比较时,使用运算符=;当比较两个对象时,使用equals()方法。该方法调用返回true时表示两个对象相等(或称相同),返回false时表示两个对象不相等。实例实例6-26-2编程演示“equals()方法“和“=”运算符比较对象时的异同。 3. getClass()方法getCla
6、ss()方法返回调用该方法的对象所属的类。实例实例6-36-3编程演示getClass()方法的使用。6.3 字符串处理类6.3.1 String6.3.1 String类类java.lang包中String 类代表字符串。Java程序中的所有字符串字面值(”abc”)都作为此类的实例来实现。字符串是常量,它们的值在创建之后不能改变,因此String对象是不可改变的。String 类主要用于比较两个字符串、查找和抽取串中的字符或子串、字符串与其它类型之间的相互转换等操作,操作的结果通常得到一个新字符串,但不会改变源串的内容 。String 类常用构造方法String 类常用构造方法见表6-2。
7、表6-2 String 类常用构造方法1.String 类常用构造方法构造方法构造方法说说 明明String( )String( )初始化一个新的初始化一个新的StringString对象,使其包含对象,使其包含一个空字符串一个空字符串String(String String(String value )value )初始化一个新的初始化一个新的StringString对象,使其包含对象,使其包含和参数字符串相同的字符序列和参数字符串相同的字符序列String(char String(char value )value )分配一个新的分配一个新的StringString对象,使它代表字对象,使
8、它代表字符数组参数包含的字符序列符数组参数包含的字符序列String(char String(char value, int value, int offset, int offset, int count)count)分配一个新的分配一个新的StringString对象,使它包含来对象,使它包含来自字符数组参数中子数组的字符自字符数组参数中子数组的字符String(byte String(byte value )value )分配一个新的分配一个新的StringString对象,使它代表字对象,使它代表字节数组参数包含的字符序列节数组参数包含的字符序列String(StringBuStrin
9、g(StringBuffer buffer )ffer buffer )初始化一个新的初始化一个新的StringString对象,它包含字对象,它包含字符串缓冲区参数中的字符序列符串缓冲区参数中的字符序列2.String 类常用方法实例实例6-46-4 length()方法的使用:求指定字符串的长度。实例实例6-5 6-5 =运算符与equals()方法的使用。实例实例6-66-6使用+运算符和concat()方法实现字符串的连接。实例实例6-76-7在字符串中查找字符和子串。 6.3.2 StringBuffer6.3.2 StringBuffer类类StringBuffer类用于内容可以改
10、变的字符串,可以将其它各种类型的数据增加、插入到字符串中,也可以转置字符串中原来的内容。Java 为字符串提供了特别的连接操作符(+),可以把其它各种类型的数据转换成字符串,并前后连接成新的字符串。实际上连接操作符(+)的功能是通过 StringBuffer类和它的 append 方法实现的。 2.StringBuffer类的常用方法 常用方法常用方法说说 明明StringBuffer append(Object obj)将某个对象的串描述添加到StringBuffer尾部。StringBuffer insert(int position, Object obj)将某个对象的串描述插入到Str
11、ingBuffer中的某个位置。StringBuffer insert(int index, char str, int offset, int len)将字符数组str中从offset位置开始的len个字符插入到串的index位置。StringBuffer setCharAt(int position, char ch)用新字符替换指定位置字符。StringBuffer deleteCharAt(int position)删除指定位置的字符。StringBuffer replace(int start, int end, String str) 将参数指定范围的一个子串用新串替换。Strin
12、g substring(int start, int end)获取所指定范围的子串。实例实例6-86-8改变字符串的内容。实例实例6-96-9将一个字符串反转。 6.3.3 StringTokenizer6.3.3 StringTokenizer类类在实际应用中,有时需要分析字符串并将字符串分解成可被独立使用的单词,这些单词叫做语言符号。例如:对于字符串“We are Students ”,如果把空格作为分隔符,那么该字符串有三个单词(语言符号)。而对于字符串We,are,Students,如果把逗号作为分隔符,那么该字符串也有三个单词。当分析一个字符串并将该字符串分解成可被独立使用的单词时,
13、可以使用java.util包中的StringTokenizer类。 1StringTokenizer类常用的构造方法 (1)StringTokenizer( String s):为字符串s构造一个分析器使用默认的分隔符集合,即空格符(若干个空格被看成一个空格)、换行符、回车符、Tab符等。 (2)StringTokenizer(String s,String delim):为字符串s构造一个分析器,参数dilim中的字符被作为分隔符。 2StringTokenizer类常用的方法nextToken()方法hasMoreTokens() 方法countTokens()方法实例实例6-106-10
14、分析给定字符串,分别输出字符串的单词,并统计出单词个数。6.4基本数据类型包装类在Java中,基本数据类型不作为对象使用。这样做的原因时效率问题,因为处理对象需要额外的系统开销。然而许多Java的方法需要对象作参数,这时Java在java.lang包中提供了一个方便的办法:将基本数据类型包装成对应的包装类。Java 中的基本数据类型共有八种,那么与之相对应的包装类也同样是有八种。 1包装类的构造方法可以从基本的数据类型或从表示数值的字符串来构造数值包装对象。以Integer类为例。Integer类的构造方法如下:public Integer(int value) public Integer(
15、String s) 2 2数值类的常量数值类的常量每个数值包装类都有常量每个数值包装类都有常量MAX_VALUEMAX_VALUE和和MIN_VALUEMIN_VALUE。MAX_VALUEMAX_VALUE表示对应基本类型的最大值;表示对应基本类型的最大值;MIN_VALUEMIN_VALUE表示对表示对应基本类型的最小值。应基本类型的最小值。3 3类型转换方法类型转换方法每个包装类均提供有相应的方法用来从包装对象中抽取相应每个包装类均提供有相应的方法用来从包装对象中抽取相应的数据。的数据。BooleanBoolean类的对象,可以调用类的对象,可以调用booleanValue()boole
16、anValue()方方法从包装对象中抽取相应的数据。法从包装对象中抽取相应的数据。 IntegerInteger类的对象,可类的对象,可以调用以调用intValue()intValue()方法从包装对象中抽取相应的数据。方法从包装对象中抽取相应的数据。CharacterCharacter的对象,可以用的对象,可以用charValue()charValue()方法从包装对象中方法从包装对象中抽取相应的数据。抽取相应的数据。 4 4包装类提供的各种包装类提供的各种staticstatic方法方法 CharacterCharacter类提供有类提供有isDigit(char ch)isDigit(c
17、har ch)方法可判断一个字符方法可判断一个字符是否为数字。是否为数字。 除除CharacterCharacter类外的所有包装类均提供有类外的所有包装类均提供有valueOf(String s)valueOf(String s)的静态方法,它将得到一个相应类型的对象的静态方法,它将得到一个相应类型的对象 。还有一组非常有用的静态包装方法是还有一组非常有用的静态包装方法是parseXXX()parseXXX()方法,可以方法,可以将将“数字数字”格式的字符串转化为相应的基本数据类型。格式的字符串转化为相应的基本数据类型。 5 5使用使用LongLong类的下述方法可以得到整数的各种进制的字符
18、类的下述方法可以得到整数的各种进制的字符串表示串表示public static String toBinaryString(long n)public static String toBinaryString(long n)public static String toOctalString(long n)public static String toOctalString(long n)public static String toHexString(long n)public static String toHexString(long n) public static String to
19、String(long n,int p) public static String toString(long n,int p) 6 6使用使用StringString类的类的valueOfvalueOf()方法可以将数值转化为相应()方法可以将数值转化为相应的字符串的字符串public static String valueOf(byte n)public static String valueOf(byte n)public static String valueOf(int n)public static String valueOf(int n)public static String
20、 valueOf(long n)public static String valueOf(long n)public static String valueOf(float n)public static String valueOf(float n)public static String valueOf(double n)public static String valueOf(double n)实例实例6-116-11 将数字字符串转化为对应的整数。实例实例6-126-12 将整型数据包装成Integer类的对象,再将其转换为基本数据类型。实例实例6-13 6-13 基本数据类型与包装类
21、对象运算操作。6.5 Math类和Random类6.5.1Math6.5.1Math类类Java.lang包中的Math类也称数学类,是一个工具类,它在解决与数学计算有关的一些问题时有着很重要的作用。Math类包含了一组基本的数学运算的方法和常数。如求绝对值的abs()方法,计算三角函数的sin()方法和cos()方法,求两个数中的较小值和较大值的min()方法和max()方法,求随机数的random()方法等。Math类是最终类(final),不能从Math类中派生其他的新类。因此只能使用Math类的方法而不能对其作任何修改.实例实例6-14 6-14 Math类中主要方法应用举例。实例实例
22、6-156-15随机产生10个100以内的正整数并输出。 6.5.2 Random类 Java.util包中的Random 类是一个随机数产生器,此类的实例用于生成伪随机数流。随机数是按照某种算法产生的,一旦用一个初值创建 Random 对象,就可以得到一系列的随机数,但如果用相同的初值创建 Random对象,得到的随机数序列是相同的,也就是说,在程序中看到的“随机数”是固定的那些数,起不到“随机”的作用,针对这个问题,Java 设计者们在 Random 类的 Random()构造方法中使用当前的时间来初始化 Random 对象,因为没有任何时刻的时间是相同的,所以就可以减少随机数序列相同的可
23、能性。 1 1Random Random 类构造方法类构造方法RandomRandom类提供了两个构造方法:带参数(即带种子)和不带类提供了两个构造方法:带参数(即带种子)和不带参数(即不带种子)。如果没有提供参数,参数(即不带种子)。如果没有提供参数,RandomRandom实例的实例的参数将是当前时间的毫秒数。参数将是当前时间的毫秒数。2 2Random Random 类的常用方法类的常用方法(1 1)int nextInt()int nextInt():返回下一个伪随机数,它是此随机数:返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的生成器的序列中均匀分布的 int int 值。
24、值。(2 2)int nextInt(int n)int nextInt(int n):返回一个伪随机数,它是从此:返回一个伪随机数,它是从此随机数生成器的序列中取出的、在随机数生成器的序列中取出的、在 0(0(包括包括) )和指定值和指定值( (不不包括包括) )之间均匀分布的之间均匀分布的 intint值。值。(3 3)long nextLong()long nextLong():返回下一个伪随机数,它是从此随:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的机数生成器的序列中取出的、均匀分布的 long long 值。值。 (4 4)double nextDouble(
25、)double nextDouble():返回下一个伪随机数,它是从:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在此随机数生成器的序列中取出的、在 0.0 0.0 和和 1.01.0之间均之间均匀分布的匀分布的 double double 值。值。(5 5)float nextFloat()float nextFloat():返回下一个伪随机数,它是从此:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、在随机数生成器的序列中取出的、在 0.0 0.0 和和 1.0 1.0 之间均匀之间均匀分布的分布的 float float 值。值。(6 6)boolean nextBo
26、olean()boolean nextBoolean():返回下一个伪随机数,它是:返回下一个伪随机数,它是从此随机数生成器的序列中取出的、均匀分布的从此随机数生成器的序列中取出的、均匀分布的 boolean boolean 值。值。(7 7)void nextBytes(byte bytes):void nextBytes(byte bytes)::生成随机字节并将:生成随机字节并将其置于用户提供的字节数组中。其置于用户提供的字节数组中。实例实例6-166-16利用不带参数的构造方法创建两个随机数生成器对象,分别随机产生一个整数、一个实数、一个布尔值并输出。实例实例6-176-17利用带参数
27、的构造方法创建两个随机数生成器对象,分别随机产生一个整数、一个实数、一个布尔值并输出。实例实例6-186-18随机产生10个100以内的整数并输出。6.6 日期处理类 6.6.1 Date6.6.1 Date类类java.util包中的Date类表示特定的瞬间,精确到毫秒。使用Date类的无参构造方法Date()创建的Date对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。 1Date类的构造方法 (1)无参构造方法例如:使用系统的当前日期和时间创建一个日期对象。语句如下:Date date = new Date();System.out.print
28、ln(当前日期为: + date); 实例实例6-196-19使用系统的当前日期和时间创建一个日期对象并返回一个长整数。 (2)有参构造方法例如:通过有参构造方法获取当前系统时间。语句如下:long ct = System.currentTimeMillis(); Date d = new Date(ct);实例实例6-196-19使用有参构造方法创建一个日期对象。 2日期的格式化在编写程序时,通常都希望按照某种习惯的格式来输出时间,比如时间的顺序:年 月 日 时:分:秒。我们如何才能以这种指定的格式来显示日期呢?这就需要利用java.text包中的DateFormat 类和SimpleDat
29、eFormat类来实现日期的格式化。(1)利用DateFormat类实现日期的格式化。实例实例6-206-20利用DateFromat类实现当前日期的格式化输出。 (2)利用SimpleDateFormat类实现日期的格式化。实例实例6-226-22利用SimpleDateFromat类实现当前日期格式化输出。实例实例6-23 6-23 将“2014-2-3 18:30:38”格式的日期字符串转成“2014年02月3日06点30分38秒”的日期形式。 3.获取当前日期的时间通过getTime()方法所得到的Date类型数据是以毫秒来计算的,并且是以1970年1月1日为开始时间。在声明数据类型时
30、需要较大存储空间,可以使用long数据类型或者同等存储类型数据。语句如下:Date date=new Date();long str_get = date.getTime();System.out.println(当前毫秒值为: + str_get); 6.6.2 Calendar类 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。特定瞬间可用毫秒值来表示,它是距离历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:0
31、0.000)的偏移量。 1 1CalendarCalendar对象的创建对象的创建由于由于CalendarCalendar类是一个抽象类,不能用类是一个抽象类,不能用newnew运算符实例化,运算符实例化,因此因此CalendarCalendar类提供了类提供了getInstancegetInstance()静态方法返回一()静态方法返回一个个 Calendar Calendar 对象,其日历字段已由当前日期和时间初始对象,其日历字段已由当前日期和时间初始化。化。 2 2CalendarCalendar对象的常用方法对象的常用方法(1 1)设置日历字段值)设置日历字段值(2 2)获取日历字段值
32、)获取日历字段值public int get(int field)public int get(int field)参数参数fieldfield的有效值由的有效值由CalendarCalendar的静态常量指定。的静态常量指定。(3 3)更改日历字段值)更改日历字段值public void add(int field, int amount);public void add(int field, int amount);用于给指定的用于给指定的日历字段添加或减去指定的时间量。日历字段添加或减去指定的时间量。 (4)将日历对象转变为日期对象的方法public final Date getTime
33、();(5)将时间转变为毫秒值的方法。实例实例6-24 6-24 计算出距当前日期时间 230 天后的日期时间,并用“xxxx 年 xx 月 xx日 xx 小时:xx 分:xx 秒”的格式输出。实例实例6-256-25利用Calendar类实现2011年4月的日历显示。6.7 Arrays类Arrays类是Java API中提供的存在于java.util包中的数组工具类,该类中包含有数组操作的一些常用静态方法(如排序和查找),这可以大大简化程序设计人员的设计过程。 Arrays类的常用方法有:(1)sort()方法:利用Arrays.sort()实现数组排序。2)binarySearch()方法利用Arrays. binarySearch()方法实现数组元素查找。 (3)equals()方法利用equals()方法实现数组的比较。(4)toString()方法利用toString()方法可以便捷的显示数组的内容。(5)copyoOf()方法利用copyOf()方法可以便捷的实现数组的复制。实例实例6-26 6-26 利用sort()方法实现数组的排序,并且利用toS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 14 圆明园的毁灭 教学设计-2024-2025学年语文五年级上册统编版
- 单摆+高二上学期物理沪科版(2019)选择性必修第一册
- 2025企业合作合同范本及现场管理
- 八年级物理下册 11.5改变世界的机械教学实录 (新版)教科版
- 2025标准租赁合同范文
- 医院防窒息防坠床课件
- 2025新款抵押借款合同范本
- 2017秋冀教版七年级生物上册第一单元第四章同步教学设计:1.4.6鱼类
- 2025餐饮管理有限公司合同范本
- 2025科技、信息行业劳动合同书(合同版本)
- 2015-2024年高考物理试题分类汇编:热学和光学实验(全国解析版)
- 公安涉警舆情课件
- 第五课+弘扬劳动精神、劳模精神、工匠精神【中职专用】中职思想政治《职业道德与法治》高效课堂(高教版2023·基础模块)
- 《电费回收》课件
- 小学语文分层作业讲座
- 公司安全生产事故隐患内部报告奖励工作制度
- 做枝花儿送妈妈(课件)三年级下册劳动人教版
- 2024年世界职业院校技能大赛中职组“短视频制作组”赛项考试题库(含答案)
- 《心理压力与调适》课件
- 水利信息化数据中心及软件系统单元工程质量验收评定表、检查记录
- 新员工培训:廉洁从业
评论
0/150
提交评论