《《移动通信软件编程基础—Java语言》第6章.ppt》由会员分享,可在线阅读,更多相关《《移动通信软件编程基础—Java语言》第6章.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、知识回顾知识回顾异常异常只要在运行时遇到错误,就会发生异常只要在运行时遇到错误,就会发生异常发生异常情况时,将在导致错误的发生异常情况时,将在导致错误的方法中创建和引发表示该异常的对象方法中创建和引发表示该异常的对象可以使用可以使用trytry、catchcatch、throwthrow、throwsthrows和和finallyfinally来管理来管理JavaJava异常处理异常处理用于监视的程序语句包含在用于监视的程序语句包含在trytry块内块内catchcatch块内的代码用于捕获和处理异常块内的代码用于捕获和处理异常必须在方法返回之前执行的任何代码应放置在必须在方法返回之前执行的任
2、何代码应放置在finallyfinally块内块内要手动引发异常,可以使用关键字要手动引发异常,可以使用关键字 throwthrow任何异常可以通过任何异常可以通过 throws throws 子句从方法抛出子句从方法抛出6 Java类库:java.lang包 第章本章目标本章目标掌握包装类掌握包装类掌握掌握StringString类和类和StringBufferStringBuffer类类 掌握掌握M Mathath类类理解理解ObejctObejct类类java.lang包简介包简介 vjava.lang被自动导入所有的被自动导入所有的JavaJava程序程序v它所包含的类和接口对所有实际
3、的它所包含的类和接口对所有实际的JavaJava程序都程序都是必要的是必要的v它是它是JavaJava最广泛使用的包最广泛使用的包包装类包装类字符串处理类字符串处理类数学方法类数学方法类java.lang包简介包简介 publicclassSystemDemopublicstaticvoidmain(Stringargs)System.out.println(System类是类是java.lang包下的类,包下的类,+n没有在程序开始处使用没有在程序开始处使用importjava.lang.*;n也可以使用此类也可以使用此类);System.exit(0);while(true)System.
4、out.println(谢谢使用谢谢使用);java.langjava.lang包中的类包中的类publicstaticvoidexit(intstatus)终止当前正在运行的终止当前正在运行的JavaJava 虚拟机虚拟机 参数:参数:status-status-退出状态。退出状态。非零非零的状态码表示的状态码表示异常终止异常终止。简单类型包装类简单类型包装类 简单数据类型简单数据类型boolean 布尔型布尔型 byte 字节型字节型 char字符型字符型short 短整型短整型 int 整型整型 long 长整长整型型 float 浮点浮点型型 double 双精度型双精度型 包装为类包
5、装为类publicclass包装类名称包装类名称 typevalue;public包装类名称包装类名称(typevalue)publicstatictypevalueOf(typel)BooleanByteCharacterShortIntegerLongFloatDouble包装类的构造方法包装类的构造方法publicclassIntegerDemopublicstaticvoidmain(Stringargs)intnum1=12;Integernum=newInteger(num1);intnum2=num.intValue();System.out.println(num2=+num2
6、);构造方法构造方法说明说明Integer(intvalue)构造一个构造一个Integer 对象对象参数:参数:value-Integer对象表示的值对象表示的值Integer(Strings)构造一个构造一个Integer对象对象参数:参数:s-要转换为要转换为Integer的的String 包装类常用构造方法:包装类常用构造方法:Boolean(booleanvalue)、Character(charvalue)、Integer(intvalue)、Float(floatvalue)、Double(doublevalue)包装类的常用方法包装类的常用方法方法方法说明说明bytebyteV
7、alue()以以bytebyte形式返回指定的数值形式返回指定的数值intintValue()以以intint形式返回指定的数值形式返回指定的数值shortshortValue()以以shortshort形式返回指定的数值形式返回指定的数值longlongValue()以以longlong形式返回指定的数值形式返回指定的数值floatfloatValue()以以floatfloat形式返回指定的数值形式返回指定的数值doubledoubleValue()以以doubledouble形式返回指定的数值形式返回指定的数值包装类的常用方法包装类的常用方法publicclassTypeChangepu
8、blicstaticvoidmain(Stringargs)/*float型转换为型转换为double型型*/floatf1=100.00f;floatToDouble(f1);/*double型转换为型转换为int型型*/doubled1=100.00d;doubleToInt(d1);/*int型转换为型转换为double型型(自动转换自动转换)*/inti1=200;intToDouble(i1);publicstaticvoidfloatToDouble(floatf1)publicstaticvoiddoubleToInt(doubled1)publicstaticvoidintTo
9、Double(inti1)将将floatfloat型的变量型的变量转换为转换为doubledouble型型/*float型转换为型转换为double型的方法型的方法*/publicstaticvoidfloatToDouble(floatf1)Floatf1=newFloat(f1);doubled1=f1.doubleValue();System.out.println(float型变量型变量+f1+转化为转化为double型变量的结果为:型变量的结果为:+d1);Character包装类包装类 Character类类在对象中在对象中包装包装一个一个基本类型基本类型char的值。的值。静态方
10、法静态方法说明说明 isDigit(charisDigit(charchch)确定指定字符是否为确定指定字符是否为0-90-9数字数字 isLetter(charisLetter(charchch)确定指定字符是否为字母确定指定字符是否为字母 isLowerCase(charisLowerCase(charchch)确定指定字符是否为小写字母确定指定字符是否为小写字母 isUpperCase(charisUpperCase(charchch)确定指定字符是否为大写字母确定指定字符是否为大写字母 isWhitespace(charisWhitespace(charchch)确定指定字符是否为空白
11、字符确定指定字符是否为空白字符Character包装类包装类 publicclassCharacterDemopublicstaticvoidmain(Stringargs)charch=a;if(Character.isDigit(ch)System.out.println(ch是一个是一个0-9之间的一个数之间的一个数);elseif(Character.isLetter(ch)System.out.println(ch是一个字符是一个字符);判断判断ch的值的值 是否为是否为0-90-9的一个数的一个数 判断判断ch的值的值 是否为一个字符是否为一个字符 String类类 类类 属性:属
12、性:字面值字面值 方法:方法:获得字符串长度获得字符串长度 字符串搜索字符串搜索字符串连接字符串连接 创建对象创建对象构造方法构造方法说明说明String()创建空字符串创建空字符串String(Stringvalue)新建字符串作为指定字符串的副本新建字符串作为指定字符串的副本String(charvalue)根据字符数组构造新字符串根据字符数组构造新字符串String(bytevalue)转换指定字节数组为新字符串转换指定字节数组为新字符串字符串长度字符串长度 publicclassStringDemopublicstaticvoidmain(Stringargs)Stringstr=ne
13、wString(StudyJava);System.out.println(字符串的长度为:字符串的长度为:+str.length();方法方法说明说明public int length()返回此字符串的长度。长度等于字符串中16位Unicode字符数。运行结果运行结果 字符串搜索字符串搜索 publicclassStringDemopublicstaticvoidmain(Stringargs)Stringstr=newString(StudyJava);if(str.indexOf(d)=-1)System.out.println(在字符串在字符串str中没有搜索到字符中没有搜索到字符d)
14、;elseSystem.out.println(d这个字符存在于字符串这个字符存在于字符串str的第的第+(str.indexOf(d)+1)+个位置上第一次出现个位置上第一次出现);System.out.println(结束搜索结束搜索);方法方法说明说明intint indexOf(intindexOf(intchch)返回字符序列中首次出现字符返回字符序列中首次出现字符chch的的索引位置,未出现该字符返回索引位置,未出现该字符返回-1-1。intint indexOf(intindexOf(intchch,intintfromIndexfromIndex)返回字符序列中返回字符序列中f
15、romIndexfromIndex索引后索引后首次出现首次出现字符字符chch的索引位置,未出现的索引位置,未出现该字符返回该字符返回-1-1。运行结果运行结果 字符串提取字符串提取 常用方法常用方法说明说明charcharAt(intindex)从指定位置提取单个字符从指定位置提取单个字符Stringsubstring(intindex)提取从位置索引开始的字符串部分提取从位置索引开始的字符串部分Stringsubstring(intbeginindex,intendindex)提取提取beginindexbeginindex和和endindexendindex位置之位置之间的字符串部分间的
16、字符串部分Stringconcat(Stringstr)连接两个字符串,并新建一个包含连接两个字符串,并新建一个包含调用字符串的字符串对象调用字符串的字符串对象Stringreplace(charold,charnew)将调用字符串中出现某个字符的所将调用字符串中出现某个字符的所有位置都替换为另一个字符有位置都替换为另一个字符Stringtrim()返回一个前后不含任何空格的调用返回一个前后不含任何空格的调用字符串的副本字符串的副本字符串提取字符串提取 publicclassStringDemopublicstaticvoidmain(Stringargs)Stringstr=newStrin
17、g(StudyJava);for(inti=0;istr.length();i+)System.out.println(第第+i+个字符是:个字符是:+str.charAt(i);S t udy J a v a0 1 2 3 4 5 6 7 8 索引索引 charAtcharAt(i)(i)0 0 S 3 3 d字符串提取字符串提取 publicclassStringDemopublicstaticvoidmain(Stringargs)Stringstr=newString(StudyJava);System.out.println(在字符串在字符串str中从第中从第2个字符开始到第个字符开
18、始到第5个字符结个字符结束的字符串是:束的字符串是:+str.substring(2-1,5);S t udy J a v a0 1 2 3 4 5 6 7 8 索引索引 subStringsubString(1,5)(1,5)t udy字符串提取字符串提取 publicclassStringDemopublicstaticvoidmain(Stringargs)Stringstr=newString(StudyJava);System.out.println(将字符串将字符串str中的字母中的字母a为字母为字母A,结果为:结果为:+str.replace(a,A);System.out.pr
19、intln(调用调用str.replace(a,A)后字符串后字符串str的值为:的值为:+str);S t udy J a v a0 1 2 3 4 5 6 7 8 索引索引 字符串字符串str replace(replace(a,A)临时字符串临时字符串S tAudy JAv字符串字符串str不变,不变,string字符串内容不可修改字符串内容不可修改字符串比较字符串比较 Stringstr1=newString(Hello);Stringstr2=newString(Hello);Stringstr1=Hello;Stringstr2=Hello;代码段代码段1:1:代码段代码段2:2:
20、内存地址:内存地址:2F2A 2F2A 3EF2 3EF2HelloHello对象对象str1str1对象对象str2str2.内存地址:内存地址:2F2A 2F2A 3EF2 3EF2Hello对象对象str1str1对象对象str2str2.不同对象不同对象 同一对象同一对象 字符串比较字符串比较 publicclassStringComDemopublicstaticvoidmain(Stringargs)Stringstr1=newString(Hello);Stringstr2=newString(Hello);Stringstr3=Hello;Stringstr4=Hello;if
21、(str1=str2)System.out.println(str1与与str2是同一对象是同一对象);elseSystem.out.println(str1与与str2不是同一对象不是同一对象);if(str3=str4)System.out.println(str3与与str4是同一对象是同一对象);elseSystem.out.println(str3与与str4不是同一对象不是同一对象);=比较比较str1str1和和str2str2 是否为同一对象是否为同一对象运运行行结结果果字符串比较字符串比较 publicclassStringComDemopublicstaticvoidmai
22、n(Stringargs)Stringstr1=newString(Hello);Stringstr2=newString(Hello);Stringstr=newString(World);Stringstr3=Hello;if(str1.equals(str2)System.out.println(str1与与str2两个对象的内容是一样的两个对象的内容是一样的);elseSystem.out.println(str1与与str2两个对象的内容是不一样的两个对象的内容是不一样的);.if(str3.equals(str)System.out.println(str3与与str两个对象的内容
23、是一样的两个对象的内容是一样的);elseSystem.out.println(str3与与str两个对象的内容是不一样的两个对象的内容是不一样的);equalsequals方法方法 比较比较str1str1和和str2str2对象的内容是否一致对象的内容是否一致运行结果运行结果字符串比较字符串比较 方法方法说明说明equals(ObjectanObject)比较此字符串与指定的对象。比较此字符串与指定的对象。equalsIgnoreCase(Stringanoth)将此将此 String String 与另一个与另一个 String String 进进行比较,不考虑大小写。行比较,不考虑大小
24、写。compareTo(StringanotherString)按字母顺序比较两个字符串。按字母顺序比较两个字符串。两个字符串相等返回两个字符串相等返回0;0;字符串在该字符串在该值之前返回值值之前返回值 0 0startsWith(Stringprefix)测试字符串是否以指定的前缀开始测试字符串是否以指定的前缀开始endsWith(Stringsuffix)测试字符串是否以指定的后缀结束测试字符串是否以指定的后缀结束StringBuffer类类 vStringBufferStringBuffer 用于表示可以修改的字符串用于表示可以修改的字符串v建立建立StringBufferString
25、Buffer对象的构造方法:对象的构造方法:构造方法构造方法说明说明publicStringBuffer()构造一个其中不带字符的字符串缓构造一个其中不带字符的字符串缓冲区,保留冲区,保留 16 16 个字符的空间。个字符的空间。publicStringBuffer(intcapacity)构造一个不带字符,但具有指定初构造一个不带字符,但具有指定初始容量的字符串缓冲区始容量的字符串缓冲区。publicStringBuffer(Stringstr)构造一个字符串缓冲区,并将其内构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。容初始化为指定的字符串内容。(初始容量为初始容量为:16+:
26、16+参数参数strstr的长度的长度 )StringBuffer类的常用类的常用方法方法 方法方法说明说明StringBufferinsert(intoffset,Strings)在指定位置插入字符串在指定位置插入字符串intlength()确定确定StringBufferStringBuffer对象的长度对象的长度voidsetCharAt(intindex,charch)使用使用chch指定的新值设置指定的新值设置indexindex指定的位置上的字符指定的位置上的字符StringtoString()转换为字符串形式转换为字符串形式StringBufferreverse()将字符序列用其
27、反转形式取代将字符序列用其反转形式取代StringBufferdelete(intstart,intend)删除调用对象中从删除调用对象中从startstart位置位置开始到开始到end1end1位置的字符序列位置的字符序列StringBufferdeleteCharAt(intindex)删除删除indexindex指定索引处的字符指定索引处的字符StringBufferreplace(intstart,intend,Strings)替换字符串从替换字符串从startstart位置开始位置开始替换,到替换,到endend指定位置结束指定位置结束字符串提取字符串提取 publicclassSt
28、ringBufferDemopublicstaticvoidmain(Stringargs)StringBufferstrb=newStringBuffer(Iloveab);System.out.println(更换前的字符串为:更换前的字符串为:+strb);strb.replace(strb.indexOf(ab),strb.indexOf(ab)+2,Java);System.out.println(更换后的字符串为:更换后的字符串为:+strb);I l ov e ab0 1 2 3 4 5 6 7 8 索引索引 字符串字符串str replace(,replace(,Java)aJ
29、 a v字符串字符串str改变,改变,stringBuffer字符串可修改字符串可修改9107 8Math类中的常用方法类中的常用方法 方法方法说明说明doublesin(doublea)计算角计算角a a的正弦值的正弦值doublecos(doublea)计算角计算角a a的余弦值的余弦值doublepow(doublea,doubleb)计算计算a a的的b b次方次方doublesqrt(doublea)计算给定值计算给定值a a的平方根的平方根intabs(inta)计算计算intint类型值类型值a a的绝对值的绝对值doubleceil(doublea)返回大于等于返回大于等于a
30、a的最小整数的最小整数doublefloor(doublea)返回小于等于返回小于等于a a的最大整数的最大整数intround(floata)返回最接近于返回最接近于a a的整数的整数intmax(inta,intb)返回返回intint型值型值a a和和b b中的较大值中的较大值intmin(inta,intb)返回返回a a和和b b中的较小值中的较小值Math类中的常用方法类中的常用方法 publicclassMathDemopublicstaticvoidmain(Stringargs)intnum=38;floatnum1=65.7f;System.out.println(Math
31、.ceil(num);System.out.println(Math.ceil(num1);System.out.println(Math.floor(num);System.out.println(Math.floor(num1);System.out.println(Math.round(num);System.out.println(Math.round(num1);运运行行结结果果Object类类 v所有类的父类所有类的父类v默认情况下,用户定义的类扩展自默认情况下,用户定义的类扩展自 Object Object 类类v类中的主要方法:类中的主要方法:方法方法说明说明booleaneq
32、uals(Objectobj)将当前对象实例与给定的对象进行将当前对象实例与给定的对象进行比较,检查它们是否相等。比较,检查它们是否相等。voidfinalize()throwsThrowable当垃圾回收器确定不存在对该对当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾象的更多引用时,由对象的垃圾回收器调用此方法。回收器调用此方法。StringtoString()返回此对象的字符串表示。返回此对象的字符串表示。voidwait()throwsInterruptedException使当前线程进入等待状态。使当前线程进入等待状态。Object类类 publicclassObjectDe
33、mopublicStringtoString()Stringstr=自己建立的自己建立的toString()方法方法;returnstr;publicstaticvoidmain(Stringargs)ObjectDemotest=newObjectDemo();System.out.println(test.toString();覆盖父类覆盖父类ObjectObject中的中的toStringtoString方法方法 运行结果运行结果 总结总结JavaJava类库:类库:java.langjava.lang包包java.langjava.lang包中的类自动被导入包中的类自动被导入JavaJava类中类中包装类可以以类的形式封装简单的原始类型包装类可以以类的形式封装简单的原始类型字符串对象由字符串对象由StringString和和StringBufferStringBuffer类创建类创建StringString类创建不可变字符串类创建不可变字符串StringBufferStringBuffer类创建可改字符串类创建可改字符串MathMath类提供的数学方法为静态方法类提供的数学方法为静态方法所有的所有的JavaJava类都继承自类都继承自ObjectObject类类习题习题作业作业