第六章java.lang包2万策实训回顾只要在运行时遇到错误,就会发生异常Java异常是一个对象,用来描述一段代码中发生的异常情况发生异常情况时,将在导致错误的方法中创建和引发表示该异常的对象可以使用try、catch、throw、throws和finally来管理Java异常处理用于监视的程序语句包含在try块内。catch块内的代码用于捕获和处理异常必须在方法返回之前执行的任何代码应放置在finally块内要手动引发异常,可以使用关键字throw。任何异常可以通过throws子句从方法抛出3万策实训目标了解java.lang包掌握包装类掌握String和StringBuffer类运用以下类的方法:MathClassObject4万策实训...intnum1=5;Integernum=newInteger(num1);intnum2=num.intValue();...包装类6-1intdigit=10;原始数据类型使用原始数据类型声明的变量视为对象原始数据类型包装类Java.lang提供5万策实训包装类6-2原始数据类型包装类byte(字节)Bytechar(字符)Characterint(整型)Integerlong(长整型)Longfloat(浮点型)Floatdouble(双精度)Doubleboolean(布尔)Booleanshort(短整型)Short6万策实训包装类6-3演示:示例1包装类的用法使用包装类的方法,如ceil()、floor()和round()publicclassNumberWrap{/**构造方法*/protectedNumberWrap(){}/**这是main方法*它将原始值转换为其相应的包装类型*@paramargs传递至main方法的参数*/publicstaticvoidmain(String[]args){Stringnumber=args[0];BytebyNum=Byte.valueOf(number);ShortshNum=Short.valueOf(number);Integernum=Integer.valueOf(number);LonglgNum=Long.valueOf(number);System.out.println(Output);System.out.println(byNum);System.out.println(shNum);System.out.println(num);System.out.println(lgNum);}}7万策实训包装类6-4方法说明isDigit()确定字符是否为0至9之间的数字isLetter()确定字符是否为字母isLowerCase()确定字符是否为小写形式isUpperCase()确定字符是否为大写形式isSpace()确定字符是否为空格或换行符isUnicodeIdentifierStart()确定是否允许将指定字符作为Unicode标识符中的首字符Character包装类的方法8万策实训包装类6-5演示:示例2使用包装类的方法,如Character类publicclassTestCharacter{publicstaticvoidmain(String[]args){intcount;char[]values={'*','7','p','','P'};for(count=0;countvalues.length;count++){if(Character.isDigit(values[count])){System.out.println(values[count]+“是一个数字);}if(Character.isLetter(values[count])){System.out.println(values[count]+“是一个字母);}if(Character.isUpperCase(values[count])){System.out.println(values[count]+“是大写形式);}if(Character.isUnicodeIdentifierStart(values[count])){System.out.println(values[count]+“是Unicode+“标识符的第一个有效字符);}}}}9万策实训String类String类字符串字面量对象未修改的原始字符串使用String类的方法可以更改字符串版本原始字符串保持不变10万策实训String类的构造方法构造方法说明String()它将创建一个空字符串String(Stringvalue)它将新建一个字符串作为指定字符串的副本String(char[]value)它将根据字符数组构造一个新字符串String(byte[]value)它将通过转换指定的字节数组新建一个字符串11万策实训字符串长度2-1字符串长度由length()方法确定语法publicintlength();返回字符串中的字符数12万策实训字符串长度2-2字符串1长度Determinedbylength()methodSyntaxPublicintlength()ReturnsnumberofcharactersinthestringStringname=JohnSmith;System.out.println(name.length());13万策实训字符串比较4-1字符串1字符串2字符串1字符串2由equals()方法确定检查组成字符串内容的字符同一个对象用==运算符检查检查字符串是否指向同一个或不同的对象14万策实训字符串比较4-2演示:示例3publicclassEquality{/**构造方法*/protectedEquality(){}/**它演示两个字符串的比较*@paramargs传递至main方法的参数*/publicstaticvoidmain(String[]args){Stringstring1=newString(“苹果是一种水果);Stringstring2=newString(“玫瑰花是一种花);Stringstring3=newString(“苹果是一种水果);System.out.println(“字符串1:+string1);System.out.println(“字符串2:+string2);System.out.println(“字符串3:+string3);字符串比较运算符的用法使用String类的方法,如equals()和==运算符if(string1==string2){System.out.println(“字符串1和字符串2相等);}else{System.out.println(“字符串1和字符串2不等);}if(string1.equals(string3)){System.out.println(“字符串1和字符串3相等);}else{System.out.println(字符串1和字符串2不等);}System.out.println(“设置字符串1等于字符串2);string2=string1;if(string1.equals(string2)){System.out.println(“两个字符串相等);}else{System.out.println(“两个字符串不等);}}}15万策实训字符串比较4-3方法说明booleanequalsIgnoreCase(Stringvalue)此方法比较两个字符串,忽略大小写形式intcompareTo(Stringvalue)按字母顺序比较两个字符串。如果两个字符串相等,则返回0;如果字符串在该值之前,则返回值小于0;如果字符串在该值之后,则返回值大于0booleanstartsWith(Stringvalue)检查一个字符串是否以另一个字符串开始。booleanendsWith(Stringvalue)检查一个字符串是否以另一个字符串结束。16万策实训字符串比较4-4演示:示例4比较不同的字符串使用String类的方法,如equalsIgnoreCase()、compareTo()、startsWith()和endsWith()publicclassStringdemo{/**构造方法*/protectedStringdemo(){}/**这是main方法*它演示String类的比较方法*@paramargs传递至main方法的参数*/publicstaticvoidmain(String[]args){Stringstring1,string2,string3;string1=newString(Answer);string2=newString(ANSWER);string3=newString(Question);System.out.println(“字符串A是+string1);System.out.println(“字符串B是+string2);System.out.println(“字符串C是+string3);if(string1==string2){System.out.println(“字符串A和字符串B指同一个对象);}else{System.out.println(“字符串A和字符串B指不同的对象);}if(string1.equals(string2)){System.out.println(“字符串A和字符串B的内容相同);}else{System.out.println(“字符串A和字符串B的内容不同);}if(string1.equalsIgnoreCase(string2)){System.out.println(“忽略大小写,字符串A和B的内容相同);}elseif(string1.equalsIgnoreCase(string3)){System.out.println(“字符串A和B的内容相同);}if(string1.compareTo(Answer)==0){System.out.println(“按字母,字符串A与Answer的内容相同);}if(string1.startsWith(A)){System.out.println(“以A开始);}}}17万策实训搜索字符串2-1字符串1情形1:indexOf(character)方法找到第一个匹配索引0123情形2:如果没有找到匹配,则返回-1返回找到的第一个匹配的位置索引18万策实训搜索字符串2-2示例:示例5搜索字符串内有无指定的字符或字符串使用String类的方法,如indexOf()publicclassSearchString{/**构造方法*/protectedSearchString(){}/**这是main方法*它演示在字符串内搜索*@paramargs传递至main方法的参数*/publicstaticvoidmain(String[]args){Stringname=JohnSmith@123.com;System.out.println(“EmailID是:+name);System.out.println(“@的索引是:+name.indexOf('@'));System.out.println(“.的索引是:+name.indexOf('.'));if(name.indexOf('.')name.indexOf('@')){System.out.println(“该电子邮件地址有效);}else{System.out.println(“该电子邮件地址无效);}}}19万策实训提取字符串3-1方法说明publiccharcharAt(intindex)此方法用于从指定位置提取单个字符,该位置由索引指定,索引中的值必须为非负publicStringsubstring(intindex)此方法用于提取从位置索引开始的字符串部分publicStringsubstring