版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java
语言程序设计2020/11/25第6章第7章Java中的常用类第2
页第6章字符串和正则表达式第7章常用实用类主要内容类Object
类System
类Math
类基本数据类型的BigInteger
类字符串相关类String
类StringBuffer
类StringTokenizer
类Date
类Calender
类……2020/11/25第6章第7章Java中的常用类第3
页2020/11/25第6章第7章Java中的常用类第4
页Object
类-“根”类Object类定义在java.lang包中所有的Java类派生自Object类如果一个类没有用extends继承其他类,则它继承ObjectObject类是所有类层次结构的终极根类Object包含一些有用的方法,这些方法被所有子类继承2020/11/25第6章第7章Java中的常用类第5
页Object
类-“根”类Object类定义的方法之一:toStringObject类的toString方法被定义返回一个字符串,包含对象的类名和对象的地址值自定义的类重写toString方法,实质是覆盖了父类的toString方法用println方法输出一个对象时,默认调用toString方法;如果自定义了toString方法,就调用自定义的;如果没有自定义,就调用继承来的toString方法【例toString的例子】Object
类-“根”类Object类定义的方法之二:equalsObject类的equals方法确定两个
变量是否是别名,与=
=的用法相同(is
identical
to)子类一般通过覆盖Object的equals方法实现更有意义的测试,可以实现:若同一类型的两个不同对象包含相同的信息即返回true(is
equals
to)很多Java标准类都重新定义了自己的equals方法,实现两个对象的相等性比较【例TestEquals.java】2020/11/25第6章第7章Java中的常用类第6
页System类-有三个标准I/O对象,又叫控制台I/O标准输入(键盘)—由System.in定义标准输出(显示器)—由System.out定义标准错误输出(显示器)—由System.err定义使用当执行print或println语句时,System.out对象System.in是InputStream类的对象用System.in.read()从键盘读入一个字符2020/11/25第6章第7章Java中的常用类第7
页基本数据类型的
类Java的每种基本类型(8种)都有一个类与之对应类型类方法byteBytexxxValue(
)static
parseXXX(
)String
toString(
)boolean
equals(
)int
compareTo(
)shortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBoolean2020/11/25第6章第7章Java中的常用类第8
页类使用示例Boolean
wrapBool =
new
Boolean("false")Integernum1=newInteger
("31");Integernum2=newInteger("3");intValue()返回调用对象的整型值int
sum
=
Value()
*
Value();class
CmdArg
{public
static
void
main(String
args[]){int
sum
=0;for(int
cnt
=
0;
cnt
<
args.length;
cnt++)sum+=Integer.parseInt(args[cnt]);System.out.p
intln("和为:"+sum);}}parseInt()方法将执行从字符串转换成与之相应的整型(int)值2020/11/25第6章第7章Java中的常用类第9
页2020/11/25第6章第7章Java中的常用类第10
页Math类-科学计算类Math类定义在java.lang包中其中包含许多数学计算方法:public
static
long
abs(double
a)
返回a的绝对值。public
static
double
max(double
a,double
b)返回a、b的最大值。public
static
double
min(double
a,double
b)返回a、b的最小值。2020/11/25第6章第7章Java中的常用类第11
页public
static
doublerandom()
产生一个0到1之间的随机数(不包括0和1)。public
static
double
pow(double
a,double
b)返回a的b次幂。public
static
double
sqrt(doublea)
返回a平方根。public
static
double
log(double
a)
返回a的对数。public
static
double
sin(double
a)
返回正弦值。public
static
double
asin(double
a)
返回反正弦。……NumberFormat类-数字的格式化输出NumberFormat类类调用类方法:public
static
final
NumberFormat
getInstance()实例化一个NumberFormat对象该对象调用
public
final
String
format(doublenumber)方法可以格式化数字numberNumberFormat类有如下常用方法:void
set umFractionDigits(int
newValue)void
setMinimumFractionDigits(int
newValue)void
set umIntegerDigits(int
newValue)void
setMinimumIntegerDigits(int
newValue)【例7-4】2020/11/25第6章第7章Java中的常用类第12
页2020/11/25第6章第7章Java中的常用类第13
页BigInteger类-大整数类java.math包中的BigInteger类提供任意精度的整数运算构造方法:public
BigInteger(String
val)类的常用方法:public
BigInteger
add(BigInteger
val)public
BigInteger
subtract(BigInteger
val)public
BigInteger
multiply(BigInteger
val)public
BigInteger
divide(BigInteger
val)2020/11/25第6章第7章Java中的常用类第14
页public
BigInteger
remainder(BigInteger
val)public
int
compareTo(BigInteger
val)public
BigInteger
abs()public
BigInteger
pow(int
exponent)返回当前大整数对象public
String
toString()十进制的字符串表示public
String
toString(int
p)
返回当前大整数对象p进制的字符串表示【例7-6】String类-不可变字符串构建String对象String
s=new
String(“I
love
Java”)String
s1=“I
loveJava”;String
s2=new
String(s);char[
]
Ar={‘J’,
‘a’,
‘v’,
‘a’};String
s3=new
String(Ar);String
s4=new
String(Ar,2,2);构造函数String(char
a[],int
startIndex,intcount):提取字符数组a
中的一部分字符创建一个字符串对象,参数startIndex:在a中提取字符的起始位置count:
从指定位置开始截取的字符个数2020/11/25第6章第7章Java中的常用类第15
页2020/11/25第6章第7章Java中的常用类第16
页String类中的常用方法:返回长度:public
int
length()比较:public
boolean
equals(String
s)
比较当前字符串对象的实体是否与参数指定的字符串s的实体相同public
int
compareTo(String
s)按字典序与参数s指定的字符串比较大小。判断public
boolean
startsWith(String
s)public
boolean
endsWith(String
s)
public
StringreplaceAll(String
old
,String
new)2020/11/25第6章第7章Java中的常用类第17
页(4)检索public
int
indexOf
(String
s)public
int
indexOf(String
s
,intstartpoint)public
int
lastIndexOf
(Strings)子串public
String
substring(int
startpoint)public
String
substring(int
start
,int
end)public
String
trim()替换字符串
基本数据基本数据类型
类中方法:public
static
XXX
parseXXX(String
s)将“数字”格式的字符串,转化为相应的基本数据类型如:Integer类的方法:public
staticint
parseInt(String
s)2020/11/25第6章第7章Java中的常用类第18
页基本数据
字符串使用String
类的下列类方法:public
String
valueOf(byte
n)public
String
valueOf(int
n)public
String
valueOf(long
n)public
String
valueOf(floatn)public
String
valueOf(double
n)对象的字符串表示
重写toString()方法2020/11/25第6章第7章Java中的常用类第19
页2020/11/25第6章第7章Java中的常用类第20
页String与字符数组(char[])利用字符数组构建字符串String(char[
])String(char[
],int
offset,int
length)将字符串存放到字符数组中public
void
getChars
(int
start,int
end,char
c[],intoffset
)public
char[
]
toCharArray()【例6-4】2020/11/25第6章第7章Java中的常用类第21
页String与字节数组(byte[])利用字节数组构建字符串String(byte[
])String(byte[
],int
offset,int
length)字符串转化为字节数组public
byte[
]
getBytes()【例6-5】2020/11/25第6章第7章Java中的常用类第22
页StringBuffer类-可变字符串String类字符串不能修改、删除或替换字符串中的某个字符StringBuffer类能创建可修改的字符串序列StringBuffer类有三个构造方法:StringBuffer()StringBuffer(int
size)StringBuffer(String
s)2020/11/25第6章第7章Java中的常用类第23
页StringBuffer类的常用方法:append方法char
charAt(int
n)void
setCharAt
(int
n
,
char
ch)StringBuffer
insert(int
index,
String
str)StringBuffer
reverse()StringBuffer
delete(int
startIndex,
int
endIndex)StringBufferreplace(
int
startIndex
,int
endIndex,String
str)【例6-6】2020/11/25第6章第7章Java中的常用类第24
页StringTokenizer类-字符串分解使用java.util包中的StringTokenizer类将字符串分解成可被独立使用的单词StringTokenizer类的构造方法StringTokenizer(String
s)为字符串s构造一个分析器。使用默认的分隔符集合,即空格符(若干个空格被看做一个空格)、换行符、回车符、Tab符、进纸符。StringTokenizer(String
s,
Stringdelim)为字符串s构造一个分析器,参数dilim中的字符被作为分隔符。【例6-7】Date类-时间、日期Date类构造方法无参Date()创建的对象可以获取本地当前时间Da ongtime)创建的Date对象表示相对1970年1月1日0点(GMT)的时间System类currentTimeMillis()获取系统当前时间,这个时间是从
0点(GMT)到目前时刻所走过的毫秒数2020/11/25第6章第7章Java中的常用类第25
页2020/11/25第6章第7章Java中的常用类第26
页使用DateFormat的子类SimpleDateFormat来实现日期的格式化SimpleDateFormat
有一个常用构造方法:
public
SimpleDateFormat(String
pattern)该构造方法可以用参数pattern指定的格式创建一个对象SimpleDateFormat类的对象调用format(Date
date)方法格式化时间对象date2020/11/25第6章第7章Java中的常用类第27
页pattern中含有“时间元字符”,即要输出的日期的格式设定y或yyyyyyM或MMd或ddH或HHm或mms或ssE表示用2位数字输出年份;表示用4位数字输出年份;表示用2为数字或文本输出月份;表示用2位数字输出日;表示用两位数字输出小时;表示用两位数字输出分;表示用两位数字输出秒;表示用字符串输出星期;【例7-1】2020/11/25第6章第7章Java中的常用类第28
页Calender类-日历
使用Calendar类的static方法getInstance()可以初始化一个日历对象,如:Calendar
calendar=
Calendar.getInstance();calendar对象可以调用方法:public
final
void
set(int
year,int
month,int
date)public
final
void
set(int
year,int
month,int
date,int
hour,intminute)public
final
void
set(int
year,int
month,
int
date,
int
hour,
intminute,int
second)public
int
get(int
field)
可以获取有关年份、月份、小时、星期等信息【例7-2】
【例7-3】2020/11/25第6章第7章Java中的常用类第29
页正则表达式与模式匹配正则表达式一个正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称作正则表达式中的元字符。“\\dok”中的\\d就是有特殊意义的元字符,代表0到9中的任何一个。一个正则表达式也称作一个模式.字符串“9ok”和“1ok”都是和模式:“\\dok”匹配的字符串之一。和一个模式匹配的字符串称作匹配模式字符串,也称作模式匹配字符串。2020/11/25第6章第7章Java中的常用类第30
页正则表达式与模式匹配模式匹配模式匹配就是检索和指定模式匹配的字符串。Java提供了专门用来进行模式匹配的类,这些类在java.util.regex包中。(1)建立模式对象进行模式匹配的第一步就是使用Pattern类创建一个对象,称作模式对象。类调用类方法 pile(Stringpatter)来完成这一任务,其中的参数patter是一个正则表达式,称作模式对象使用的模式。【例】
使用正则表达式“A\\d”建立一个模式对象p:Pattern
p=
pile("A\\d");如果参数patter指定的正则表达式有错,complie方法将抛出异常:PatternSyntaxException。2020/11/25第6章第7章Java中的常用类第31
页2020/11/25第6章第7章Java中的常用类第32
页类也可以调用类方法 pile(String
regex,
intflags)返回一个Pattern对象。参数flags可以取下列有效值:Pattern
.CASE_INSENSITIVEPattern.MULTILINEPattern.DOTALLPattern.UNICODE_CASEPattern.CANON_EQflags取值Pattern.CASE_INSENSITIVE,模式匹配时将忽略大小写。2020/11/25第6章第7章Java中的常用类第33
页(2)建立匹配对象模式对象p调用matcher(CharSequence
input)方法返回一个Matcher对象m,称作匹配对象。参数input可以是任何一个实现了CharSequence接口的类创建的对象。String类和StringBuffer类都使用了CharSequence接口。2020/11/25第6章第7章Java中的常用类第34
页一个Matcher对象m可以使用下列3个方法寻找参数input指定的字符序列中是否有和模式patter匹配的子序列(patter是创建模式对象p时使用的正则表达式)。publicboolean
find(
)寻找input和patter匹配的下一子序列publicboolean
matches(
)判断input是否完全和patter匹配。public
boolean
lookingAt(
)判断从input的开始位置是否有和patter匹配的子序列。Matcher对象m常用的方法:public
boolean
find(int
start)判断input从参数start指定位置开始是否有和patter匹配的子序列,参数start取值0时,该方法和lookingAt()的功能相同。public
String
replaceAll(String
replacement)Matcher对象m调用该方法可以返回一个字符串对象,该字符串是通过把input中与模式patter匹配的子字符串全部替换为参数replacement指定的字符串得到的(注意,input本身没有发生变化)。public
String
replace (String
replacement)Matcher对象m调用该方法可以返回一个字符串对象,该字符串是通过把input中第1个与模式patter匹配的子字符串替换为参数replacement指定的字符串得到的(注意,input本身没有发生变化)。返回【例6-8】2020/11/25第6章第7章Java中的常用类第35
页2020/11/25第6章第7章Java中的常用类第36
页元字符模式在正则表达式(模式)中可以使用一对中括号括起若干个字符,代表中括号中的任何一个字符。【例】pattern=“[159]ABC”“1ABC”、“5ABC”和“9ABC”都是和模式pattern匹配的字符序列。中括号模式的一些意义:[abc]:代表a、b、c中的任何一个。[^abc]:代表除了a、b、c以外的任何字符[a-d]:代表
a至d中的任何一个。中括号里允许嵌套中括号,可以进行并、交、差运算,例如:[a-d[m-p]]:代表
a至d,或m至p中的任何字符(并)。[a-z&&[def]]:代表d、e、或f中的任何一个(交)。[a-f&&[^bc]]:
:代表a、d、e、f
(差)2020/11/25第6章第7章Java中的常用类第37
页代表单个字符的元字符元字符在正则表达式中的写法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论