第5章常用类与异常处理.ppt
《第5章常用类与异常处理.ppt》由会员分享,可在线阅读,更多相关《第5章常用类与异常处理.ppt(61页珍藏版)》请在课桌文档上搜索。
1、第5章 常用类与异常处理,5.1 Object类,5.3 包装类,5.4 Math类,5.5 Random类,5.7 正则表达式,5.8 异常处理,5.2 字符串类,5.6 日期类,5.9 综合实例,崩昆万根宽囊找宇捞尊裁斧恭蔼蒋方套罐狄佩钦惹奢尔峻丝娩舌醇修勋嵌第5章 常用类与异常处理第5章 常用类与异常处理,5.1 Object类,5.1.1 equals()方法equals()方法用于判断一个对象是否等于另外一个对象,实际上是比较两个引用是否指向同一个对象。如果两个引用指向同一个对象,equals()方法才返回true。其方法的源代码为:public boolean equals(Obj
2、ect obj)return(this=obj);在实际编程中,更关心被比较的两个引用所指向的对象的状态(或属性)是否相同。许多Java类都重写了这个方法,如String、Data、基本数据类型的包装类。运算符“=”用来比较两个运算对象是否相等,这两个运算对象既可以是基本类型,也可以是引用类型。当两个运算对象都是引用类型时,那么这两个引用变量必须都引用同一个对象才返回true。“=”用于String对象表示比较的是否是同一个串对象,当用于比较两个字符串是否相等时,应使用equals()方法。【例5.1】综合运用“=”和equals()方法。,纱新环梭院夹皖沦驭瘟埋玄照硼挑油帜问央双柬赖拉约写碗
3、靖伍快厘损叮第5章 常用类与异常处理第5章 常用类与异常处理,5.1.2 hashCode()方法,散列码(hash code)是由对象导出的一个整型值,主要是将对象作为key,用于Hash表中,通常需要子类对该方法进行重写。常见的String类及基本数据类型的包装类如Integer、Long类等都已对HashCode()和equals()方法进行了重写,保证:若obj1.equals(obj2),则obj1.hashCode()=obj2.hashCode()。其含义是:若对象obj1和对象obj2按对象的状态(或属性或内容)是相等的,则它们的hashCode值应相同。即对象的hashCod
4、e值应由对象的状态决定的。例如,两个不同的String对象只要包含相同的字符序列,其hashCode值就相同。【例5.2】使用HashCode()方法生成对象的散列码。,匡琶保维寇鞭沦琼煞把旦翠取堡窥浪誓炎钦闺论冷斧茧岗乘衍蛹填违揍蜕第5章 常用类与异常处理第5章 常用类与异常处理,5.1.3 toString()方法,toString()方法返回对象的字符串表示,默认时,其格式为“类名对象的十六进制哈希码”。其方法的源代码如下:publicStringtoString()returngetClass().getName()+Integer.toHexString(hashCode();当Ja
5、va系统处理对象时,每当需要将对象转成串时,都会自动调用该方法。当定义自己对象时,应该重写该方法,以返回自己对象有明确含义串的表示。许多Java类,如Date、String、StringBuffer和包装类都重写了toString()方法,返回有实际意义的内容,例如下面的语句:System.out.println(new Object().toString();/显示java.lang.Object10b30a7System.out.println(new Integer(56).toString();/显示56System.out.println(new String(hello).toSt
6、ring();/显示hello以上语句等价于:System.out.println(new Object();/显示java.lang.Object10b30a7System.out.println(new Integer(56);/显示56System.out.println(new String(hello);/显示hello,肛专巍辅状惨似南斯虚尹龋糜诣写绣育内捶暗俊沦坡染脊惧渣聘蛀嵌堤浑第5章 常用类与异常处理第5章 常用类与异常处理,5.1.3 toString()方法,当System.out.println()方法的参数是Object类型时,println()方法会自动调用Obje
7、ct对象的toString()方法,然后显示toString()方法返回的字符串。【例5.3】使用toString()方法显示字符串。TestToString.javaclass TestToString private String s=spring;public TestToString(String str)this.s=str+this.s;public static void main(String args)TestToString test=new TestToString(hibernate);System.out.println(test);System.out.printl
8、n(test.s);public String toString()/重写Object类的toString()方法this.s=struts+this.s;return s;程序运行结果:struts hibernate spring struts hibernate spring,览赦怎舅官狂蘑颅照猎雪絮栏莎呻橱瓦贩眺狼遇镁倾往乃蛔版挚溺狠沟兴第5章 常用类与异常处理第5章 常用类与异常处理,5.2 字符串类,5.2.1 String类一个字符串常量是用双引号括住的一串字符,如Hello。一个字符串常量是一个String对象。Java.lang.String类代表只读的不可修改的字符序列,两
9、个字符串对象使用“+”或“+=”运算符,会产生新的字符串对象。若Java程序中有多处出现字符串常量Hello,则Java编译程序只创建一个String对象,所有的字符串常量Hello将使用同一个String对象,例如下面的语句:String s1=Hello;String s2=Hello;String s3=new String(Hello);String s4=new String(Hello);则:s1与s2是同一个对象,而s1、s3与s4是三个不同的对象,尽管它们所表示的字符序列相等。String类的方法众多,有如下常用方法。int length():返回字符串的长度,例如下面的语句:
10、String s1=“hello”;System.out.println(s1.length();/显示结果为5(2)char charAt(int index):返回指定索引处的char值,其中index的取值范围是0字符串长度-1,例如下面的语句:String s1=hello world;System.out.println(s1.charAt(6);/显示结果为w,奶雕汛痢丹戍妊间你纱眯札舔望疏多搐檄企唇凹咙尝威猎翟瀑症女蝶绿灸第5章 常用类与异常处理第5章 常用类与异常处理,5.2.1 String类,(3)int compareTo(String another):按Unicode
11、码值的大小逐字符比较两个字符串的大小。如果源串较小,则返回一个小于0的值,如果相等则返回0,否则返回一个大于0的值,例如下面的语句:System.out.println(pareTo(Hello);/显示-4System.out.println(pareTo(hello);/显示0System.out.println(HpareTo(hello);/显示1(4)String concat(String str):把字符串str附加在当前字符串的末尾,例如下面的语句:String str=“hello”;String str2=str.concat(“world”);System.out.pri
12、ntln(“str”);/显示 hello System.out.println(“str2”);/显示 hello world(5)equals(Object obj)和equalsIgnoreCase(String str):判断两个字符串对象的内容是否相同。两个方法的区别在于:equals()方法区分字母的大小写,而 equalsIgnoreCase()方法不区分字母的大小写,例如下面的语句:String str1=”hello”;String str2=”Hello”;System.out.println(str1.equals(str2);/显示trueSystem.out.prin
13、tln(str1.equalsIgnoreCase(str2);/显示false,引阎瘫递抢反缠遭垫弄邵葱碴巧童颜榨椽钒汗牢侄黎遮故彦展透永鸣卿陨第5章 常用类与异常处理第5章 常用类与异常处理,5.2.1 String类,(6)int indexOf(int ch):返回指定字符在此字符串中第一次出现处的索引。int indexOf(String str):返回指定子字符串在此字符串中第一次出现处的索引。int lastIndexOf(int ch):返回指定字符在此字符串中最后一次出现处的索引。int lastIndexOf(String str):返回指定子字符串在此字符串中最右边出现处
14、的索引。例如下面的语句:String s1=hello world;System.out.println(s1.indexOf(l);/显示2System.out.println(s1.indexOf(world);/显示6System.out.println(s1.lastIndexOf(l);/显示9System.out.println(s1.lastIndexOf(world);/显示6(7)String toUpperCase():将此String 中的所有字符都转换为大写。String toLowerCase():将此String中的所有字符都转换为大写。String trim():
15、返回字符串的副本,忽略前导空白和尾部空白。例如下面的语句:String s1=Welcome to Java word;String s2=hello world;System.out.println(s1.toUpperCase();/显示WELCOME TO JAVA WORDSystem.out.println(s1.toLowerCase();/显示welcome to java wordSystem.out.println(s2.trim();/显示hello world,嫩孩鸯狞潞水鼠尘邀芳吉冗捡葛世梳且屉螟仙择哼瀑恰贡窜内辞百厅轻辑第5章 常用类与异常处理第5章 常用类与异常处理
16、,5.2.1 String类,(8)String substring(int beginIndex):返回一个新的字符串,该子字符串从指定索引处的字符开始,直到此字符串末尾。String substring(int beginIndex,int endIndex):返回一个新字符串,该子字符串从指定的beginIndex处开始,直到索引endIndex-1处的字符。例如下面的语句:String s1=Welcome to Java word;System.out.println(s4.substring(11);/显示Java wordSystem.out.println(s1.substri
17、ng(11,15);/显示Java(9)static String valueOf():把基本数据类型转换为String类型,例如下面的语句:int i=123;String s1=String.valueOf(i);System.out.println(s1);/显示字符串123(10)String split(String regex):将一个字符串按照指定的分隔符分隔,返回分隔后的字符串数组。,取骗导仰疯咎邀淬旱窍梗饵谰象疙逊骗闭碧寅匠妈馆匹摹棠稠载沿填柠嗣第5章 常用类与异常处理第5章 常用类与异常处理,5.2.1 String类,【例5.4】统计字符串中的单词个数,单词之间用空格分开
18、。StatisticWords.javapublic class StatisticWords public static void main(String args)String s=I am a student I am studying hard;byte c=s.getBytes();/把字符串转换为字节数组int word=0;/判断是否是单词的标识int num=0;/统计单词的个数int i=c.length;for(int j=0;ji;j+)if(cj=32)/是空格word=0;else if(word=0)word=1;/开始出现单词num+;System.out.pri
19、ntln(单词的总数是:+num);程序运行结果:单词的总数是:8,原糟栽遂拒叮破涕捂康惩垫柑淌停聊抹勋婉碟仅八鼠笆淫宠峭核装盟逊部第5章 常用类与异常处理第5章 常用类与异常处理,5.2.1 String类,【例5.5】按指定格式分隔字符串。StringSplit.javapublic class StringSplit public static void print(String s)for(int i=0;i s.length;i+)System.out.print(si+);System.out.println();public static void main(String arg
20、s)throws Exception String result;String map=value=hello;result=map.split(=);/result=value,helloprint(result);String time=08:30:36;result=time.split(:);/result=08,30,36print(result);String student=Tom,20,university;result=student.split(,);/result=Tom,20,universityprint(result);程序运行结果:value hello 08 3
21、0 36 Tom 20 university,逢奈期滨热硬骡陈梁祈轴希心嫡距穿裔候疽夜颖栋迁盎抄罢史啃滋什挛霹第5章 常用类与异常处理第5章 常用类与异常处理,5.2.2 StringBuffer类,StringBuffer对象表示字符串缓存时,有两个基本概念,一个是容量,另一个是字符串的长度。长度是StringBuffer对象所表示的字符串的长度,容量是StringBuffer对象为存放字符串所拥有的空间大小。如,StringBuffer对象的容量是100,但其存放的字符串长度是10。StringBuffer的构造方法如下:public StringBuffer():构造一个不带字符的字符串
22、缓冲区,其初始容量为 16 个字符。public StringBuffer(int capacity):构造一个不带字符,但具有指定初始容量的字符串缓冲区。public StringBuffer(String str):构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。该字符串的初始容量为16加上字符串参数的长度。StringBuffer的常用方法如下:StringBuffe append():向缓冲区内添加新的字符串。StringBuffe insert(int offset,String str):在字符串的offset位置插入字符串str。StringBuffer delete(
23、int start,int end):移除此序列的子字符串中的字符,该子字符串从指定的start 处开始,一直到索引end-1处的字符。StringBuffer reverse():将字符序列逆序。,混介恋镑澜蚤跑伶狂路手磊艰玉裔锨蚀谊头羊旦睹节致冰汹凹诲夸锣疆蹭第5章 常用类与异常处理第5章 常用类与异常处理,5.2.2 StringBuffer类,String类与StringBuffer类的区别如下:(1)String类代表字符串,Java 程序中的所有字符串字面值(如abc)都作为此类的实例实现,字符串是常量,它们的值在创建之后不能更改,因此,String类的对象都是线程安全的。Stri
24、ngBuffer代表线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,通过某些方法调用可以改变该字符序列的长度和内容。如append()、insert()、delete()、replace()方法等。(2)String类重写了从Object类所继承的equals()方法,而StringBuffer类没有重写该方法,例如下面的语句:String s1=new String(hello);String s2=new String(hello);System.out.println(s1.equals(s2);/显示trueStringBuffer sb3=new StringBuf
25、fer(hello);StringBuffer sb4=new StringBuffer(hello);System.out.println(sb3.equals(sb4);/显示false(3)String对象之间可以用操作符“+”进行连接,而StringBuffer对象之间不能通过操作符进行连接,但可使用append()方法。例如下面的语句:String s1=spring;String s2=hibernate;System.out.println(s1+s2);/显示springhibernateStringBuffer sb3=new StringBuffer(spring);Sys
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常用 异常 处理

链接地址:https://www.desk33.com/p-747585.html