0607第6章字符串和正则表达式7实用类自学_第1页
0607第6章字符串和正则表达式7实用类自学_第2页
0607第6章字符串和正则表达式7实用类自学_第3页
0607第6章字符串和正则表达式7实用类自学_第4页
0607第6章字符串和正则表达式7实用类自学_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

提交评论