[院校资料]JAVAlession9常用类课件.ppt

上传人(卖家):晟晟文业 文档编号:5102943 上传时间:2023-02-11 格式:PPT 页数:56 大小:3.19MB
下载 相关 举报
[院校资料]JAVAlession9常用类课件.ppt_第1页
第1页 / 共56页
[院校资料]JAVAlession9常用类课件.ppt_第2页
第2页 / 共56页
[院校资料]JAVAlession9常用类课件.ppt_第3页
第3页 / 共56页
[院校资料]JAVAlession9常用类课件.ppt_第4页
第4页 / 共56页
[院校资料]JAVAlession9常用类课件.ppt_第5页
第5页 / 共56页
点击查看更多>>
资源描述

1、第第9章章 JAVA常用类常用类www.aicsws-www.aicsws-9.1 内容索引内容索引字符串常用方法字符串常用方法v常用类常用类字符串常用方法Object类常用方法日期、数字和货币格式正则表达式,Pattern和Matcher类进行模式匹配分解字符串www.aicsws-9.1 String 类类String 类类字符串字面量对象未修改的原始字符串 可以更改字符串版本 原始字符串保持不变www.aicsws-9.1 String 类的构造方法类的构造方法构造方法说明String()它将创建一个空字符串它将创建一个空字符串String(String value)它将新建一个字符串作

2、为指定字符串的副本它将新建一个字符串作为指定字符串的副本String(char value)它将根据字符数组构造一个新字符串它将根据字符数组构造一个新字符串String(byte value)它将通过转换指定的字节数组新建一个字符串它将通过转换指定的字节数组新建一个字符串www.aicsws-9.1 字符串长度字符串长度 字符串长度由 length()方法确定语法语法public int length();返回字符串中的字符数www.aicsws-9.1 字符串长度字符串长度字符串字符串 1长度Determined by length()methodSyntax Public int leng

3、th()Returns number of characters in the stringString name=John Smith;System.out.println(name.length();www.aicsws-练习练习v想想如何将一个想想如何将一个String对象的每个字符依次打印对象的每个字符依次打印出来?(参看出来?(参看JDK帮助文档)帮助文档)www.aicsws-9.1 字符串比较字符串比较 1字符串 1字符串 2字符串字符串 1字符串字符串 2由 equals()方法确定检查组成字符串内容的字符同一个对象用=运算符检查检查字符串是否指向同一个或不同的对象www.ai

4、csws-9.1 字符串比较字符串比较 2演示:演示:示例示例 3public class Equality /*构造方法*/protected Equality()/*它演示两个字符串的比较 *param args 传递至 main 方法的参数 */public static void main(String args)String string1=new String(“苹果是一种水果);String string2=new String(“玫瑰花是一种花);String string3=new String(“苹果是一种水果);System.out.println(“字符串 1:+str

5、ing1);System.out.println(“字符串 2:+string2);System.out.println(“字符串 3:+string3);v 字符串比较运算符的用法字符串比较运算符的用法v 使用使用 String 类的方法,如类的方法,如 equals()和和=运算符运算符 if(string1=string2)System.out.println(“字符串 1 和字符串 2 相等);else System.out.println(“字符串 1 和字符串 2 不等);if(string1.equals(string3)System.out.println(“字符串 1 和字符

6、串 3 相等);else System.out.println(字符串 1 和字符串 3 不等);System.out.println(“设置字符串 1 等于字符串 2);string2=string1;if(string1.equals(string2)System.out.println(“两个字符串相等);else System.out.println(“两个字符串不等);www.aicsws-9.1 字符串比较字符串比较 3方法说明boolean equalsIgnoreCase(String value)此方法比较两个字符串,忽略大小写形式此方法比较两个字符串,忽略大小写形式int

7、compareTo(String value)按字母顺序比较两个字符串。按字母顺序比较两个字符串。如果两个字符串相等,则返回如果两个字符串相等,则返回 0;如果字符串在该值之前,则返回值小于如果字符串在该值之前,则返回值小于 0;如果字符串在该值之后,则返回值大于如果字符串在该值之后,则返回值大于 0boolean startsWith(String value)检查一个字符串是否以另一个字符串开始。检查一个字符串是否以另一个字符串开始。boolean endsWith(String value)检查一个字符串是否以另一个字符串结束。检查一个字符串是否以另一个字符串结束。www.aicsws-

8、9.1 字符串比较字符串比较 4演示:示例演示:示例 4v 比较不同的字符串比较不同的字符串v 使用使用 String 类的方法,如类的方法,如 equalsIgnoreCase()、compareTo()、startsWith()和和 endsWith()public class Stringdemo /*构造方法*/protected Stringdemo()/*这是 main 方法 *它演示 String 类的比较方法 *param args 传递至 main 方法的参数 */public static void main(String args)String string1,strin

9、g2,string3;string1=new String(Answer);string2=new String(ANSWER);string3=new String(Question);System.out.println(“字符串 A 是 +string1);System.out.println(“字符串 B 是 +string2);System.out.println(“字符串 C 是 +string3);String string1=new String(Hello World);String string2=new String(Hello world);String string3

10、=new String(hello world);if(string1=string2)System.out.println(“字符串 1 和字符串 2 指同一个对象);else System.out.println(“字符串 1 和字符串 2 指不同的对象);if(string1.equals(string2)System.out.println(“字符串 1 和字符串 2 的内容相同);else System.out.println(“字符串 1 和字符串 2 的内容不同);if(string1.equalsIgnoreCase(string2)System.out.println(“忽略

11、大小写,字符串 1 和 2 的内容相同);else if(string1.equalsIgnoreCase(string3)System.out.println(“字符串 1 和 3 的内容相同);if(pareTo(Answer)=0)System.out.println(“按字母,字符串 1 与 Answer 的内容相同);if(string1.startsWith(A)System.out.println(“以 A 开始);www.aicsws-练习练习v 创建两个字符串创建两个字符串v 比较两个字符串是否是同一个字符串对象,判断两个字符比较两个字符串是否是同一个字符串对象,判断两个字符

12、串内容是否相同串内容是否相同www.aicsws-9.1 搜索字符串搜索字符串 1字符串字符串 1情形情形 1:indexOf(character)方法方法找到第一个匹配索引 0 1 2 3情形情形 2:如果没有找到匹配,则返回-1返回找到的第一个匹配的位置索引www.aicsws-9.1 搜索字符串搜索字符串 2示例:示例示例:示例 5v 搜索字符串内有无指定的字符或字符串搜索字符串内有无指定的字符或字符串v 使用使用 String 类的方法,如类的方法,如 indexOf()class SearchString /*构造方法*/protected SearchString()/*这是 ma

13、in 方法 *它演示在字符串内搜索 *param args 传递至 main 方法的参数 */public static void main(String args)String name=JohnS;System.out.println(Email ID 是:+name);System.out.println(的索引是:+name.indexOf();System.out.println(.的索引是:+name.indexOf(.);if(name.indexOf(.)name.indexOf()System.out.println(该电子邮件地址有效);else System.out.pr

14、intln(该电子邮件地址无效);www.aicsws-9.1更改字符串中字符的大小写更改字符串中字符的大小写 1Hello使用使用 toUpperCase()方法方法HELLOHELLO使用使用 toLowerCase()方法方法hello语法public String toUpperCase();语法Public String toLowerCase();www.aicsws-演示:示例演示:示例 7v 更改字符串中字符的大小写形式更改字符串中字符的大小写形式v 使用使用 String 类的方法,如类的方法,如 toUpperCase()和和 toLowerCase()public cla

15、ss StringTest /*构造方法*/protected StringTest()/*这是 main 方法 *它演示字符串的 length()和 UpperCase()方法 *param args 传递至 main 方法 */public static void main(String args)String name=new String(George);System.out.println(“姓名是+name);int length=name.length();System.out.println(“姓名的长度为”+length+“个字符);System.out.println(“姓

16、名用大写形式表示为:);String nameUppercase=name.toUpperCase();System.out.println(nameUppercase);9.1 更改字符串中字符的大小写更改字符串中字符的大小写 2www.aicsws-9.1 StringBuffer 类类 1构造方法说明public StringBuffer()保留保留 16 个字符的空间个字符的空间public StringBuffer(int length)设置缓存器大小设置缓存器大小publicStringBuffer(Stringvalue)接收字符串参数,用来设置初始内容,接收字符串参数,用来设置

17、初始内容,并在不重新分配的情况下保留并在不重新分配的情况下保留 16 个字符个字符的空间的空间q StringBuffer 用于表示可以修改的字符串q 使用连接运算符(+)的字符串会自动创建字符串缓冲对象www.aicsws-9.1 StringBuffer 类类 2方法说明StringBuffer insert(intoffset,String s)在指定位置插入布尔值的字符串表示在指定位置插入布尔值的字符串表示int length()确定确定 StringBuffer 对象的长度对象的长度StringBuffer append(char c)将将 char char 参数的字符串表示形式追

18、加到此序列。参数的字符串表示形式追加到此序列。void setCharAt(int pos,char ch)使用使用 ch 指定的新值设置指定的新值设置 pos 指定的位置上指定的位置上的字符的字符String toString()转换为字符串形式转换为字符串形式StringBuffer reverse()保留保留 StringBuffer 对象中的字符对象中的字符StringBuffer delete(int start,int end)此方法将删除调用对象中从此方法将删除调用对象中从 start 位置开始直位置开始直到到 end 指定的索引指定的索引 1 位置的字符序列位置的字符序列Str

19、ingBuffer deleteCharAt(int pos)此方法将删除此方法将删除 pos 指定的索引处的字符指定的索引处的字符StringBuffer replace(int start,int end,String s)此方法使用一组字符替换另一组字符。将用替此方法使用一组字符替换另一组字符。将用替换字符串从换字符串从 start 指定的位置开始替换,直到指定的位置开始替换,直到 end 指定的位置结束指定的位置结束www.aicsws-9.1 String不变性不变性 1String类类创建后直接修改直接修改不变性的概念解决方法解决方法StringBuffer 类String 的对等

20、类表示可增加和可编写字符的可变序列将字符插入到字符串中间或附加到字符串末尾www.aicsws-9.1 String不变性不变性 2演示:示例演示:示例 8v StringBuffer 类的用法类的用法v 使用使用 StringBuffer 类的方法类的方法append(),StringBuilder类除了线程不同步以外和类除了线程不同步以外和StringBuffer类完全一样类完全一样class StringBuf /*构造方法*/protected StringBuf()StringBuffer buf=new StringBuffer(Java);buf.append(Guide Ver

21、1/);buf.append(3);System.out.println(buf);StringBuilder build=new StringBuilder(String);build.append(Builder);System.out.println(build);www.aicsws-9.2 内容索引内容索引字符串字符串v常用类常用类字符串常用方法Object类常用方法日期、数字和货币格式正则表达式,Pattern和Matcher类进行模式匹配分解字符串www.aicsws-9.2 Object 类类方法说明booleanequals(Objectobj)将当前对象实例与给定的对象进行

22、比较,检将当前对象实例与给定的对象进行比较,检查它们是否相等查它们是否相等void finalize()throwsThrowable当垃圾回收器确定不存在对该对象的更多引当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。通用时,由对象的垃圾回收器调用此方法。通常被子类重写常被子类重写String toString()返回此对象的字符串表示返回此对象的字符串表示v 所有类的父类所有类的父类v 默认情况下,用户定义的类扩展自默认情况下,用户定义的类扩展自 Object 类类www.aicsws-9.2 equals与与“=”vequals比较内容比较内容v=比较引用对象比

23、较引用对象www.aicsws-9.2 为什么要重写为什么要重写equals方法方法v为了实现查找,查找需要索引号,比如查找汽车为了实现查找,查找需要索引号,比如查找汽车的主人,我们可以使用机动车标识号来查找,这的主人,我们可以使用机动车标识号来查找,这时程序需要对标识号进行比较,比如机动车标识时程序需要对标识号进行比较,比如机动车标识号为号为8的车是张三的车,只有当标识号能够进行的车是张三的车,只有当标识号能够进行比较时才能实现查找功能。比较时才能实现查找功能。v程序程序EqualsTest2.java/Car2.java演示演示 www.aicsws-9.2 HashCodewww.aic

24、sws-9.2 为什么要重写为什么要重写HashCode方法方法v如果两个对象被认为是相等的,它们的散列码也如果两个对象被认为是相等的,它们的散列码也必须相等,不然永远不能找到对象,因为必须相等,不然永远不能找到对象,因为Object类中默认散列码方法总是为每个对象产类中默认散列码方法总是为每个对象产生一个惟一号。生一个惟一号。www.aicsws-9.2 为什么要重写为什么要重写HashCode方法方法v只要重写了只要重写了equals方法,就需要重写方法,就需要重写hashCode方法方法public int hashCode()return(x*17);www.aicsws-9.3 内容

25、索引内容索引 日期格式日期格式v常用类常用类字符串常用方法Object类常用方法日期、数字和货币格式正则表达式,Pattern和Matcher类进行模式匹配分解字符串www.aicsws-9.3 Date 类类vDate 类表示日期和时间类表示日期和时间v提供操纵日期和时间各组成部分的方法提供操纵日期和时间各组成部分的方法vDate 类的最佳应用之一是获取系统当前时间类的最佳应用之一是获取系统当前时间www.aicsws-9.3 Date 类构造方法类构造方法构造方法说明Date()使用当天的日期创建使用当天的日期创建 DateDate(long dt)使用自使用自 1970 年年 1 月月

26、1 日以后的指定毫秒数创日以后的指定毫秒数创建建 Date 演示:示例 1void display()String strDate,strTime=;System.out.println(“今天的日期是:+objDate);long time=objDate.getTime();System.out.println(“自 1970 年 1 月 1 日起 +“以毫秒为单位的时间(GMT):+time);strDate=objDate.toString();/提取 GMT 时间 strTime=strDate.substring(11,19);/按小时、分钟和秒提取时间System.out.pri

27、ntln(strTime);Date 对象用于输出 日期DateTimeDisplay()objDate=new Date();使用 getTime()方法从 Date 对象获取时间www.aicsws-9.3 DateFormat格式化日期格式化日期void display()String strDate,strTime;long time=objDate.getTime();/time System.out.println(From 1970/1/1 time:+time);/date strDate=objDate.toString();System.out.println(Today:

28、+strDate);/standard time strTime=strDate.substring(11,19);System.out.println(Standard time:+strTime);/format String myString=DateFormat.getDateInstance().format(objDate);System.out.println(After formatted date:+myString);www.aicsws-练习练习v创建一个创建一个Date类型对象,提取时间信息类型对象,提取时间信息v格式化格式化Date类型对象类型对象www.aicsws

29、-9.3 Calendar 类类方法说明Date getTIme()返回一个表示此返回一个表示此 Calendar Calendar 时间值的时间值的 Date Date 对象对象 Void setTime(Date d)使用给定的使用给定的 Date Date 设置此设置此 Calendar Calendar 的时间。的时间。int get(int field)返回给定日历字段的值返回给定日历字段的值www.aicsws-9.3 Calendar 类类v 根据给定的根据给定的 Date 对象,对象,Calendar 类可以以类可以以 YEAR 和和 MONTH 等整型的形式检索信息等整型的形

30、式检索信息v 它是抽象的,因此不能像它是抽象的,因此不能像 Date 类一样实例化类一样实例化v GregorianCalendar:是:是 Calendar 的子类,实现的子类,实现 Gregorian 形式的日历形式的日历演示:示例 2CalendarComponents()objCalendar=Calendar.getInstance();使用 getInstance()方法获取 Calendar 类的实例void display()/显示 Date 和 Time 的组成部分 System.out.println(“nDate 和 Time 的组成部分:);System.out.pri

31、ntln(“月:+objCalendar.get(Calendar.MONTH);System.out.println(“日:+objCalendar.get(Calendar.DATE);System.out.println(“年:+objCalendar.get(Calendar.YEAR);System.out.println(“小时:+objCalendar.get(Calendar.HOUR);System.out.println(“分钟:+objCalendar.get(Calendar.MINUTE);System.out.println(“秒:+objCalendar.get(

32、Calendar.SECOND);/向当前时间添加 30 分钟,/然后显示日期和时间 objCalendar.add(Calendar.MINUTE,30);Date objDate=objCalendar.getTime();System.out.println(“n向当前时间添加 30 分钟后的日期和时间:n);System.out.println(objDate);Calendar 类定义某些用于获取或设置 Calendar 组成部分的整型Math类别的常数静态常数静态常数说明说明doubleE尤拉常数,自然对数的底数。doublePI圆周率。9.3 Math类类Math类别的三角函数方

33、法三角函数方法三角函数方法说明说明double acos(double a)求反余弦。double asin(double a)求反正弦。double atan(double a)求反正切。double atan2(double y,double x)以x和y为坐标,求反正切。double cos(double a)以a为弧度求余弦。double sin(double a)以a为弧度求正弦。double tan(double a)以a为弧度求正切。9.3 Math类类Math类别的其它常用方法方法方法说明说明double ceil(double a)取得不小于a的double型别之整数。dou

34、bl e exp(double a)求得e的a次方。double floor(double a)取得不大于a的double型别之整数。double log(double a)以e为底求对数值。double max(double a,double b)返回a和b中较大者。double min(double a,double b)返回a和b中较小者。double pow(double a,double b)求a的b次方。double random()取得介於0.0 1.0(小于1.0)之间的随机数值。long round(double a)四舍五入求整数值。double sqrt(double a

35、)求a的平方根。EX.9-11.java9.3 Math类类www.aicsws-v已知java.lang.Math类中有random()方法,random()返回带正号的 double 值,大于或等于 0.0,小于 1.0。写出随机生成19到41之间的偶数的表达式。v获得n-m之间的任意数表达式:(int)(Math.random()*(m-n)+n9.3 Math类练习类练习www.aicsws-9.4 内容索引内容索引正则表达式正则表达式v常用类常用类字符串常用方法Object类常用方法日期、数字和货币格式正则表达式,Pattern和Matcher类进行模式匹配分解字符串www.aics

36、ws-9.4 正则表达式 正则表达式是含有具有特殊意义字符元字符的字符串,也称模式。与一个模式匹配的字符串称为模式匹配字符串。元字符模式“.”任何一个字符“d”0至至9的任何一个数字的任何一个数字“D”任何一个非数字字符“s”空格类字符“S”非空格类字符“w”可用于标识符的字符“W”不能用于标识符的字符 方括号模式 abc:abc任意abc:除abc任意a-d:a至d任意限定符模式 X?:0次或1次X*:0次或多次X+:1次或多次Xn:恰好n次Xn,m:n至m次“dth”匹配“4th”“9th”www.aicsws- 9.4 模式匹配建立模式对象建立模式对象:Ppile(String patt

37、er)Pattern p=Ppile(“ad);包包java.util.regex建立匹配对象建立匹配对象:Matcher.matcher(CharSequence mstr)String mstr=“a1a2a3”;Matcher m=p.matcher(mstr);待匹配字符序列待匹配字符序列www.aicsws-9.4Matcher类常用方法boolean find()寻找匹配的下一子序列寻找匹配的下一子序列boolean find(int start)若若find()返回返回true,start()和和end()可以得到该匹配模可以得到该匹配模式子序列在式子序列在mstr中的开始位置和

38、结束位置。中的开始位置和结束位置。group()返返回一个匹配模式的字符串对象回一个匹配模式的字符串对象。www.aicsws-0-6:like126-11:hate314-20:like5620-25:hate4import java.util.regex.*;public class Zstr public static void main(String args)String patter=likew2|hatew1;String mstr=like12hate3no9like56hate4;Pattern p=Ppile(patter);Matcher m=p.matcher(mstr

39、);while(m.find()String str=m.group();System.out.print(m.start()+-+m.end()+:);System.out.println(str);演示:示例 59.4Matcher类示例www.aicsws-练习练习v已知正则表达式:已知正则表达式:0 xX0-9a-fA-F和查找源:“120 x0 x120Xf0 xg”,执行start方法后的结果是什么?www.aicsws-www.aicsws-9.5v常用类常用类字符串常用方法Object类常用方法日期、数字和货币格式正则表达式,Pattern和Matcher类进行模式匹配分解字符

40、串www.aicsws-9.5 Scanner类类import java.util.*;class ScanIn public static void main(String args)System.out.print(input:);try Scanner s=new Scanner(System.in);String token;do token=s.findInLine(args0);System.out.println(found +token);while(token!=null);catch(Exception e)System.out.println(scan exc);演示:示

41、例 6www.aicsws-9.5 Scanner类类v输出结果:输出结果:www.aicsws-练习练习v已知正则表达式:已知正则表达式:0 xX0-9a-fA-F和查找源:“120 x0 x120Xf0 xg”,使用Scanner类中的方法查找。www.aicsws-9.5 StringTokenizer类分解字符串成可被独立使用的单词分解字符串成可被独立使用的单词 java.util包包创建创建StringTokenizer对象对象 StringTokenizer(String s)StringTokenizer(String s,String delim)StringTokenizer

42、类常用方法类常用方法 countTokens()单词计数变量单词计数变量hasMoreTokens()countTokens0 truenextToken()逐个获取单词逐个获取单词定界符www.aicsws-import java.util.*;public class ST public static void main(String args)String str=中国中国.四川四川.攀枝花攀枝花;StringTokenizer st=new StringTokenizer(str,.);int number=st.countTokens();System.out.println(wor

43、ds:+number);while(st.hasMoreTokens()System.out.print(number-st.countTokens()+:);System.out.println(st.nextToken();words:3 0:中国中国 1:四川四川 2:攀枝花攀枝花9.5 StringTokenizer类www.aicsws-练习练习v String str=“abc def asdf asdf”;如何把上面的字符串分解成一个个如何把上面的字符串分解成一个个单词单词?www.aicsws-9.5 使用使用split方法分解字符串方法分解字符串import java.uti

44、l.*;class SplitTest public static void main(String args)String tokens=args0.split(args1);System.out.println(count +tokens.length);for(int i=0;i +tokensi+);演示:示例 7www.aicsws-输出结果输出结果www.aicsws-练习练习v 使用使用split方法将方法将String str=“abc def asdf asdf”;字符串分解成一个个字符串分解成一个个单词单词?www.aicsws-宿題宿題v给定月份,年份返回给定月份,年份返回Vector,写出一个方法得出,写出一个方法得出某年某月中哪几天是星期一某年某月中哪几天是星期一?v/使用集合示例使用集合示例Vector v=new Vector();V.add(Object);Iterator iterator=v.iterator();while(iterator.hasNext()Iterator.next();

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文([院校资料]JAVAlession9常用类课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|