java面向对象程序设计第2版第9章-常用实用类.ppt
《java面向对象程序设计第2版第9章-常用实用类.ppt》由会员分享,可在线阅读,更多相关《java面向对象程序设计第2版第9章-常用实用类.ppt(32页珍藏版)》请在三一办公上搜索。
1、1,Java面向对象程序设计第2版 第9章,配合第2版 例子源代码一起使用,Power point 制作:耿祥义 张跃平,常用实用类,2,导读,3,9.1 String类,java.lang包中的String类来创建一个字符串变量,字符串变量是对象。,4,9.1.1 构造字符串对象,1常量对象:字符串常量对象是用双引号括起的字符序列,例如:你好、12.97、boy等。2字符串对象 声明:String s;String类较常用构造方法:String(s),String(char a),String(char a,int startIndex,int count)3引用字符串常量对象 string
2、 s1=how are you;,5,9.1.2 String 类的常用方法,1public int length():获取一个字符串的长度 2public boolean equals(String s):比较当前字符串对象的实体是否与参数s指定的字符串的实体相同 例题9-13public boolean startsWith(String s)public boolean endsWith(String s)方法:判断当前字符串对象的前缀(后缀)是否是参数s指定的字符串 4public boolean regionMatches(int firstStart,String other,in
3、t ortherStart,int length):从当前字符串参数firstStart指定的位置开始处,取长度为length的一个子串,并将这个子串和参数other指定的一个子串进行比较。例题9-2 其重载方法:public boolean regionMatches(boolean b,int firstStart,String other,int ortherStart,int length)5public int compareTo(String s):按字典序与参数s指定的字符串比较大小 其相关方法:public int compareToIgnoreCase(String s)例题
4、9-3 6.public boolean contains(String s):判断当前字符串对象是否含有参数指定的字符串s 7.public int indexOf(String s):从当前字符串的头开始检索字符串s,并返回首次出现s的位置,其相关方法:indexOf(String s,int startpoint),lastIndexOf(String s)8public String substring(int startpoint):获得一个当前字符串的子串 其相关方法:substring(int start,int end)9public String trim():得到一个s去掉
5、前后空格后的字符串对象。例题9-4,6,符串与基本数据的相互转化,java.lang包中的Integer类调用其类方法:public static int parseInt(String s)可以将由“数字”字符组成的字符串,如12356,转化为int型数据,例如:int x;String s=123456;x=Integer.parseInt(s);类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由“数字”字符组成的字符串,转化为相应的基本数据类型。可以使用String 类的类方法public static String va
6、lueOf(byte n)等将形如123、1232.98等数值转化为字符串。可以使用Long类中的类方法public static String toBinaryString(long i)等得到整数的各种进制的字符串表示。例题9-5 注 应用程序中的main方法中的参数args能接受用户从键盘键入的字符串。比如,使用解释器java.exe来执行主类 C:2000java Example9_5 12.89 35 78这时,程序中的args0,arg1,arg2分别得到字符串12.89,35和78。,7,9.1.4 对象的字符串表示,Object类有一个public String toStrin
7、g()方法,一个对象通过调用该方法可以获得该对象的字符串表示。一个对象调用toString()方法返回的字符串的一般形式为:创建对象的类的名字对象的引用的字符串表示 例题9-6,8,9.1.5 字符串与字符、字节数组,1字符串与字符数组 String 类的构造方法:String(char)和String(char,int offset,int length)分别用字符数组中的全部字符和部分字符创建字符串对象 String类提供了将字符串存放到数组中的方法:public void getChars(int start,int end,char c,int offset)将字符串中的全部字符存放在
8、一个字符数组中的方法:public char toCharArray()例题9-72字符串与字节数组 String(byte)用指定的字节数组构造一个字符串对象。String(byte,int offset,int length)用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。public byte getBytes()方法使用平台默认的字符编码,将当前字符串转化为一个字节数组。public byte getBytes(String charsetName)使用参数指定字符编码,将当前字符串转化为一个字节数组。例题9-8,9,9.1.6 正则表
9、达式及字符串的替换与分解,1正则表达式 一个正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称作正则表达式中的元字符。比如“dhello”中的d就是有特殊意义的元字符,代表0到9中的任何一个。字符串对象调用 public boolean matches(String regex)方法可以判断当前字符串对象是否和参数regex指定的正则表达式匹配。参考表9.1,表9.2。2字符串的替换 字符串对象调用public String replaceAll(String regex,String replacement)方法返回一个字符串,该字符串是当前字符串中所有和参数regex指定的正则表
10、达式匹配的子字符串被参数replacement指定的字符串替换后的字符串,例如:String result=12hello567.replaceAll(d+,你好);那么result就是:“你好hello你好”例题9-93字符串的分解 字符串调用public String split(String regex)使用参数指定的正则表达式regex做为分隔标记分解出其中的单词,并将分解出的单词存放在字符串数组中。例如,对于字符串:str=“1931年09月18日晚,日本发动侵华战争,请记住这个日子!”;使用正则表达式:String regex=D+;做为分隔标记分解出str中的单词String d
11、igitWord=str.split(regex);例题9-10那么,digitWord0、digitWord1和digitWord2就分别是1931、09和18。,10,9.2 StringBuffer类 9.2.1 StringBuffer对象的创建,String s=new String(我喜欢学习);StringBuffer buffer=new StringBuffer(“我喜欢学习”);buffer.append(数学);,StringBuffer类有三个构造方法:1StringBuffer()2StringBuffer(int size)3StringBuffer(String
12、s)例题9-11,11,9.2.2 StringBuffer类的常用方法,1StringBuffer append(String s):将一个字符串对象追加到当前StringBuffer对象中 StringBuffer append(int n):将一个int型数据转化为字符串对象后再追加到当前StringBuffer对象中 StringBuffer append(Object o):将一个Object对象的字符串表示追加到当前StringBuffer对象中 类似的方法还有:StringBuffer append(long n),StringBuffer append(boolean n),S
13、tringBuffer append(float n),StringBuffer append(double n),StringBuffer append(char n)2public chat charAt(int n):得到参数n指定的置上的单个字符 public void setCharAt(int n,char ch):将当前StringBuffer对象实体中的字符串位置n处的字符用参数ch指定的字符替换3StringBuffer insert(int index,String str):将参数str指定的字符串插入到参数index指定的位置 4public StringBuffer
14、reverse():将该对象实体中的字符翻转5StringBuffer delete(int startIndex,int endIndex):从当前StringBuffer对象实体中的字符串中删除一个子字符串 其相关方法:deleteCharAt(int index)删除当前StringBuffer对象实体的字符串中index位置处的一个字符。6.StringBuffer replace(int startIndex,int endIndex,String str):将当前StringBuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换 例题9-12,12,9.3 Str
15、ingTokenizer类,StringTokenizer类在java.util包中,有两个常用的构造方法:StringTokenizer(String s):为字符串s构造一个分析器。使用默认的分隔标记,即空格符(若干个空格被看做一个空格)、换行符、回车符、Tab符、进纸符。StringTokenizer(String s,String delim):为字符串s构造一个分析器。参数dilim中的字符被作为分隔标记。StringTokenizer对象称作一个字符串分析器可以使用下列方法:nextToken():逐个获取字符串中的语言符号(单词),字符串分析器中的负责计数的变量的值就自动减一。h
16、asMoreTokens():只要字符串中还有语言符号,即计数变量的值大于0,该方法就返回true,否则返回false。countTokens():得到分析器中计数变量的值。例题9-13 例题9-14,13,9.4 Scanner类,使用默认分隔标记解析文件 创建Scanner对象,并将要解析的字符串传递给所构造的对象例如,对于字符串 String s=telephone cost 876 dollar.Computer cost 2398.89 dollar.;为了解析出s中的单词,可以如下构造一个Scanner对象:Scanner scanner=new Scanner(s);那么scan
17、ner默认地使用空格做为分隔标记来解析字符串中的单词。也可以让Scanner Scanner对象调用方法:useDelimiter(正则表达式);将正则表达式做为分隔标记,即Scanner对象在解析字符串时,把与正则表达式匹配的字符串做为分隔标记。例题9-15,Scanner对象解析字符串的特点如下:scanner调用next()方法依次返回被解析的字符串s中的单词,如果s最后一个单词已被next()方法返回,scanner调用hasNext()将返回false,否则返回true。对于被解析的字符串s中的数字型的单词,比如876,2398.89等,scanner可以用nextInt()或nex
18、tDouble()方法来代替next()方法,即scanner可以调用nextInt()或nextDouble()方法将数字型单词转化为int或double数据返回。如果单词不是数字型单词,scanner调用nextInt()或nextDouble()方法将发生InputMismatchException异常,在处理异常时可以调用next()方法返回该非数字化单词。,14,9.5 Date和Clendar类 9.5.1 Date对象,Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。计算机时间的“公元”设置在1970.年1月1日0时(格林威治时间
19、),可以根据这个时间使用Date的带参数的构造方法:Date(long time)例:Date date1=new Date(1000),date2=new Date(-1000);date1就是1970年01月01日08时00分01秒、date2就是1970年01月01日07时59分59秒 可以用System类的静态方法 public long currentTimeMillis()获取系统当前时间,如果运行Java程序的本地时区是北京时区,这个时间是从1970年1月1日08点到目前时刻所走过的毫秒数。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、时区,年。例如:Tue Ma
20、r 12 10:13:58 CST 2013。,15,9.5.2 Calendar对象,1 Calendar类在java.util包中。使用Calendar类的static方法 getInstance()可以初始化一个日历对象,如:Calendar calendar=Calendar.getInstance();2 calendar对象可以调用方法:public final void set(int year,int month,int date)public final void set(int year,int month,int date,int hour,int minute)publ
21、ic final void set(int year,int month,int date,int hour,int minute,int second)将日历翻到任何一个时间 3 calendar对象常用方法 public int get(int field):可以获取有关年份,月份,小时,星期等信息 例如 calendar.get(Calendar.MONTH);calendar.get(DAY_OF_WEEK);public long getTimeInMillis():可以将时间表示为毫秒。例题9-16,例题9-17,16,9.5.3 日期格式化 1 使用SimpleDateForma
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 程序设计 常用 实用
链接地址:https://www.31ppt.com/p-6510306.html