java程序设计教学教案课件05

PPT
  • 阅读 34 次
  • 下载 0 次
  • 页数 77 页
  • 大小 1.019 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
java程序设计教学教案课件05
可在后台配置第一页与第二页中间广告代码
java程序设计教学教案课件05
可在后台配置第二页与第三页中间广告代码
java程序设计教学教案课件05
可在后台配置第三页与第四页中间广告代码
java程序设计教学教案课件05
java程序设计教学教案课件05
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 77
  • 收藏
  • 违规举报
  • © 版权认领
下载文档30.00 元 加入VIP免费下载
文本内容

【文档说明】java程序设计教学教案课件05.ppt,共(77)页,1.019 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45149.html

以下为本文档部分文字说明:

第五章常用实体类5.1String类Java使用java.lang包中的String类来创建一个字符串变量.1.字符串常量如:”你好”“12.3456”“SCHOOL”2.声明字符串Strings;5.1String类3.创建字符串•使用S

tring类的构造方法例如:s=newString(“wearestudents”);•也可以用一个已经创建的字符串去创建另一个字符串如:Stringtom=String(s);另外比较常用的构造方法:•String(chara[]):用一个字

符数组a创建一个字符串对象,如:Chara[]={„b‟,„o‟,„y‟};Strings=newString(a);•String(chara[],intstartIndex,intcount):提取字符数组a中的一部分字

符创建一个字符串对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数.如:chara[]={„s‟,‟t‟,‟b‟,‟u‟,„s‟,„n‟};Strings=newString(a,2,3);5.1String类4.引用字符串

常量对象•字符串常量是对象,因此把字符串常量的引用赋值给一个字符串变量,则具有相同的实体.如:Strings1,s2;S1=“howareyou”;S2=“howareyou”;0xAb280xAb28Howareyou5.1.5String类的常用方法1.publicin

tlength()使用String类的length()方法可以获取一个字符串的长度,如:Strings=“Wearestudents”,tom=“我们是学生”;intn1,n2;n1=s.length()

;n2=s.length();5.1.5String类的常用方法2.publicbooleanequals(Strings)使用String类的equals方法,比较当前字符串对象的实体是否与参数指定的字符串s的实体相同.如:String

tom=newString(“wearestudents”);Stringboy=newString(“Wearestudents”);Stringjerry=newString(“wearestudents”);tom.equals(boy)的值是falseto

m.equals(jerry)的值是true字符串调用publicbooleanequalslgnoreCase(Strings)比较当前字符串对象与参数指定的字符串s是否相同,比较时忽略大小写.5.1

.5String类的常用方法equals的用法classExample5_1{publicstaticvoidmain(Stringargs[]){Strings1,s2;s1=newString("wea

restudents");s2=newString("wearestudents");System.out.println(s1.equals(s2));//输出结果是:true。System.out.print

ln(s1==s2);//输出结果是:falseStrings3,s4;s3="howareyou";s4="howareyou";System.out.println(s3.equals(s4));//

输出结果是:true。System.out.println(s3==s4);//输出结果是:true。}}5.1.5String类的常用方法3.publicbooleanstartsWith(Strings)、publicbooleanendsWith(Strings)

方法字符串对象调用startsWith(Strings)方法,判断当前字符串对象的前缀是否是参数指定的字符串s.如:Stringtom=“220302620629021”;Stringjerry=“21079670924022”;tom.startsWith(“220”

)的值是true;jerry.startsWith(“220”)的值是false.使用endsWith(Strings)方法,判断一个字符串的后缀是否是字符串s,如:tom.endsWith(“021”)的值是true;jerry.startsWith(“021”)的

值是false.5.1.5String类的常用方法4.publicbooleanregionMatches(intfirstStart,Stringother,intortherStart,intlength)方法字符串对象调用regionMa

tches(intfirstStart,Stringother,intortherStart,intlength)方法,从当前字符串参数firstStart指定的位置开始处,取长度为length的一个子串,并将这个子串和参数oth

er指定的一个子串进行比较,其中,other指定的子串是从otherStart指定的位置开始,从other中取长度为length的一个子串。如果两个子串相同该方法就返回true,否则返回false使用该方法的

重载方法,publicbooleanregMatches(booleanb,intfirstStart,Stringother,intotherStart,intlength)可以通过参数b决定是否忽略大小写,当b取true时,忽略大小写。5.1.5String类的常用方法/

/判断一个字符串中出现了几个enclassExample5_2{publicstaticvoidmain(Stringargs[]){intnumber=0;Strings="student;entr

opy;engage,english,client";for(intk=0;k<s.length();k++){if(s.regionMatches(k,"en",0,2)){number++;}}System.out.println("number="+number);}}5.1.5Str

ing类的常用方法5.publicintcompareTo(Strings)方法字符串对象可以使用compareTo(Strings)方法,按照字典序与参数s指定的字符串比较大小。如果当前的字符串与s,相同,该方法返回值是0;如果当前字符串对象大于s,该方法返回正值;如果小于s,该方法返回负

值。如:Stringstr=“abcde”;Str.compareTo(“boy”)小于0;str.compareTo(“aba”)大于0;str.compareTo(“abcde”)等于0•按字典比较两个字符串还可以使用publicintcompareTolgnoreCase

(Strings)方法,该方法忽略大小写5.1.5String类的常用方法//字符串排序classExample5_3{publicstaticvoidmain(Stringargs[]){Stringa[]={"boy","apple","Applet","girl","

Hat"};for(inti=0;i<a.length-1;i++){for(intj=i+1;j<a.length;j++){if(a[j].compareTo(a[i])<0){Stringtemp

=a[i];a[i]=a[j];a[j]=temp;}}}for(inti=0;i<a.length;i++){System.out.print(""+a[i]);}}}5.1.5String类的常用方法6.publicintindexOf(Strings)方法字符串对象

调用indexOf(Strings)方法,从当前字符串的头开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。字符串调用indexOf(Strings,intstartpoint)方法从当前字符串的

startpoint位置处开始检索字符串s,并返回首次出现s的位置。如果没有检索到字符串s,该方法返回的值是-1。字符串调用lastindexOf(Strings)方法从当前字符串的头开始检索字符串s,并返回最后出现s的位

置,如果没有检索到字符s,该方法返回的值是-1。如:Stringtom=“Iamagoodcat”;tom.indexOf(“a”);//值是2tom.indexOf(“good”,2);//值是7tom.indexOf(“a”,7);//值是1

3tom.indexOf(“w”,2);//值是-15.1.5String类的常用方法7.publicStringsubstring(intstartpoint)方法字符串对象调用substring(intstartpoint)方法获得一个当前字符串的子串,该子串是从当前字符串的startpoi

nt处截取到最后所得到的字符串,字符串对象调用substring(intstart,intend)方法获得一个当前字符串的子串,该子串从当前字符串的start处截取到end处所得到的字符串,但不包括end处所对应的字

符。如:Stringtom=“Ilovetom”;Strings=tom.substring(2,5);//s值是lov5.1.5String类的常用方法8.publicStringreplaceAll(Stringold,Stringnew)方法字符串对象s调用

该方法可以获得一个串对象,这个串对象是通过参数new指定的字符串替换s中的由old指定的所有字符串而得到的字符串。5.1.5String类的常用方法9.publicStringtrim()方法字符串s调用该方法可以得

到一个字符串对象,该字符串是s去掉前后空格后的字符串。5.1.6字符串与基本数据类型的相互转化java.lang包中的Integer类调用其方法:publicstaticintparseInt(Strings)可以将“数字”格式的字符串转化为int

型数据;如:intx;Strings=“3452”;x=Integet.parseInt(s);5.1.6字符串与基本数据类型的相互转化java.lang包中的Byte、Short、Long、Float、Double

类的数据类型转化方法:publicstaticbyteparseByte(Strings)publicstaticshortparseShort(Strings)publicstaticlongparseLong(Strings)public

staticfloatparseFloat(Strings)publicstaticdoubleparseDouble(Strings)5.1.6字符串与基本数据类型的相互转化//从键盘输入若干个数,求平均值publicclass

Example5_4{publicstaticvoidmain(Stringargs[]){doublen,sum=0.0;for(inti=0;i<args.length;i++){sum=sum+Double.pa

rseDouble(args[i]);}n=sum/args.length;System.out.println("平均数:"+n);}}/*编译后,使用控制台输入数值*javaExample5_4“20”

“67.05”“12.66”“20.1”*/5.1.6字符串与基本数据类型的相互转化String类方法将数值转化为字符串publicStringvalueOf(byten)publicStringvalueOf(intn)pub

licStringvalueOf(longn)publicStringvalueOf(floatn)publicStringvalueOf(doublen)如:Stringstr=String.valueOf(123.5598);floatx=123.562f;Stringt

emp=String.valueOf(x);5.1.7对象的字符串表示所有类都默认是java.lang包中Object类的子类或间接子类。Object类有一个public方法toString(),一个对象通过调

用该方法可以获得该对象的字符串表示。5.1.7对象的字符串表示例子5:importjava.util.Date;importjava.awt.*;publicclassExample5_5{publicstaticvoidmain(Stringargs[]){Dateda

te=newDate();Buttonbutton=newButton("确定");System.out.println(date.toString());System.out.println(button.toString());}}5.1.

8字符串与字符、字节数组1.字符串与字符数组:用数组创建字符串对象,用String类的构造方法:String(chara[])和String(chara[],intoffset,intlength)String类也提供将字符串存放到数组中的方法:PublicvoidgetChars(ints

tart,intend,charc[],intoffset)字符串调用getChars方法将当前字符串中的一部分字符复制到参数c指定的数组中,将字符串中从位置start到end-1位置上的字符复制到数组c中,并从数组c的of

fset处开始存放这些字符。注意必须保证c能容纳下要被复制的字符。5.1.8字符串与字符、字节数组classExample5_6{publicstaticvoidmain(Stringargs[]){charc[],d[];Strings=”巴西足球队击败德国足球队”;

c=newchar[2];s.getChars(5,7,c,0);System.out.println(c);d=newchar[s.length()];s.getChars(7,12,d,0);s.getChars(5,7,d,5);s.getChars(0,5,d,7);

System.out.println(d);}}5.1.8字符串与字符、字节数组1.字符串与字符数组:String类还提供一个方法:publicchar[]toCharArray()字符串对象调用该方法可以初始化一个字符串数组,该数组的长

度与字符串的长度相等,并将字符串对象的全部字符复制到该数组中。5.1.8字符串与字符、字节数组classExample5_7{publicstaticvoidmain(Stringargs[]){Strings="列车时刻表";ch

ara[]=s.toCharArray();for(inti=0;i<a.length;i++){a[i]=(char)(a[i]^'t');}Stringsecret=newString(a);System.out.println("密文:"+secr

et);for(inti=0;i<a.length;i++){a[i]=(char)(a[i]^'t');}Stringcode=newString(a);System.out.println("原文:"+code);}}5.1.8字符串与字符、字节数组2.字符串与字节数组:String类的构造

方法String(byte[])用指定的字节数组构造一个字符串对象。String(byte[],intoffset,intlength)构造方法用指定的字节数组的一部分,即从数组起始位置offset开始取length个字节构造一个字符串对象。publicbyte[]getBytes()方法使用平

台默认的字符编码,将当前字符串转化为一个字节数组。5.1.8字符串与字符、字节数组publicclassExample5_8{publicstaticvoidmain(Stringargs[]){byted[]="你我他".ge

tBytes();System.out.println("数组d的长度是(一个汉字占两个字节):"+d.length);Strings=newString(d,0,2);System.out.println

(s);}}5.2StringBuffer类String类创建的字符串对象是不可修改的,String对象一旦创建,那么实体是不可以再发生变化的。如:Strings=newString(“Ilovethisga

me”);0x12ABCIlovethisgame不可以再发生变化对象实体5.2StringBuffer类StringBuffer类创建的字符串对象可修改,该类对象的实体内存空间可以自动地改变大小,便于存

放一个可变的字符串。如:StringBuffers=newStringBuffer(“Ilovethisgame”);s.append(“ok”);0x12ABCIlovethisgameok可以再发

生变化对象实体5.2StringBuffer类1.StringBuffer类的构造方法:•StringBuffer()•StringBuffer(intsize)•StringBuffer(Strings)5.2StringBuffer类1.StringBuffer类的构造方法:

•StringBuffer()无参数的构造方法创建StringBuffer对象,分配给该对象的实体的初始容量可以容纳16个字符,当该对象的实体存放的字符序列长度大于16时候,实体自动增加。StringBuffer对象可以通过length()方法获取实体中存放的字符序列长度,通过capacit

y()方法获取当前实体的实际容量。5.2StringBuffer类1.StringBuffer类的构造方法:•StringBuffer(intsize)用此构造方法创建一个StringBuffer对象,可指

定分配给该对象的实体的初始容量为参数size指定的字符个数,当对象的实体存放的字符序列的长度大于size时,实体的容量自动增加。5.2StringBuffer类1.StringBuffer类的构造方法:•S

tringBuffer(Strings)用此构造方法创建一个StringBuffer对象,可以指定分配给该对象的实体的初始容量为参数字符串s的长度再加16个字符。5.2StringBuffer类classExample5_9{publicstaticvoidmain(Stringargs

[]){StringBufferstr=newStringBuffer();str.append("大家好");System.out.println("str:"+str);System.out.println("length:"+str.le

ngth());System.out.println("capacity:"+str.capacity());str.append("我们大家都很愿意学习Java语言");System.out.println("str:"+str);System.out.println("length:

"+str.length());System.out.println("capacity:"+str.capacity());StringBuffersb=newStringBuffer("Hello");System.out

.println("length:"+sb.length());System.out.println("capacity:"+sb.capacity());}}5.2StringBuffer类2.StringBuffer类的常用方法:•append方法使用S

tringBuffer类的append方法可以将其他Java类型数据转化为字符串后,再追加到StringBuffer对象中。StringBufferappend(Strings):将一个字符串对象追加到当前StringBuffer对象中,并返回当前StringBuffer对象的引用。StringB

ufferappend(intn):将一个int类型数据转化为字符串对象后再追加到当前StringBuffer对象中,并返回StringBuffer对象的引用。StringBufferappend(Objecto):将一个Object对象的字符串表示追加到当前的StringBuffe

r对象中,并返回当前StringBuffer对象的引用。StringBufferappend(longn)StringBufferappend(booleann)StringBufferappend(floatn)5.

2StringBuffer类2.StringBuffer类的常用方法:•publiccharcharAt(intn)和publicvoidsetCharAt(intn,charch)charcharAt(intn):得到参数n指定位置上的单个字符setCharAt(intn,char

ch):将当前StringBuffer对象实体中的字符串位置n处的字符用参数ch制定的字符替换。5.2StringBuffer类2.StringBuffer类的常用方法:•StringBufferinsert(intindex,St

ringstr):insert方法将一个字符串插入到另一个字符串中,并返回当前对象的引用。•publicStringBufferreverse()该方法将对象实体中的字符翻转,并返回当前对象的引用。•StringBufferdelete(intstartIndex,int

endIndex)从当前StringBuffer对象实体的字符串中删除一个子字符串,并返回当前对象的应用。5.2StringBuffer类2.StringBuffer类的常用方法:•StringBuffer

replace(intstartIndex,intendIndex,Stringstr)该方法将当前StringBuffer对象实体中的字符串的一个字字符串用参数str指定的字符串替换。5.2StringBuffer类例子10classExample5_10{publics

taticvoidmain(Stringargs[]){StringBufferstr=newStringBuffer("我们大家都很愿意学习Java语言");str.setCharAt(0,'w');str.setCharAt(1,'e');System.out.println(str);str

.insert(2,"all");System.out.println(str);str.delete(6,8);System.out.println(str);intindex=str.indexOf("都");str.replace(index,str.le

ngth(),"lovejava");System.out.println(str);}}5.3StringTokenizer类java.util包中的StringTokenizer类可以分析一个字符串并将字符串分解成可以被独立使用的单词。两个构造方法:•StringToke

nizer(Strings):为字符串s构造一个分析器,使用默认的分割符集合,即空格符、换行符、回车符、Tab符、进纸符等•StringTokenizer(Strings,Stringdelim):为字符串s构造一个分析器。参数dilim中的字符被作为分割符。5.3StringTokeni

zer类nextToken()方法:可以逐个获取字符串中的单词。hasMoreTokens()方法:字符串有语言符号,该方法返回truecountTokens():得到字符串一共有多少个单词。5.3StringTokenizer类例子11:importjava.util.*;publiccla

ssExample5_11{publicstaticvoidmain(Stringargs[]){Strings="wearestud,ents";StringTokenizerfenxi=newStringTo

kenizer(s,",");//空格和逗号做分intnumber=fenxi.countTokens();while(fenxi.hasMoreTokens()){Stringstr=fenxi.nextToken();System.

out.println(str);System.out.println("还剩"+fenxi.countTokens()+"个单词");}System.out.println("s共有单词:"+number+

"个");}}5.4Character类常用方法:•publicstaticbooleanisDigit(charch)如果ch是数字字符方法返回true•publicstaticbooleanisLetter(charch)如果ch是字母方

法返回true•publicstaticbooleanisLowerCase(charch)如果ch是小写字母方法返回true•publicstaticbooleanisUpperCase(charch)如果ch是大写字母方法返回true

•publicstaticchartoLowerCase(charch)返回ch的小写形式•publicstaticchartoUpperCase(charch)返回ch的大写形式•publicstaticbooleanisSpaceChar(charch)如果ch是空格返

回true5.4Character类例子12:importjava.util.*;publicclassExample5_12{publicstaticvoidmain(Stringargs[]){Strings=newString("abcABC123");System.

out.println(s);chara[]=s.toCharArray();for(inti=0;i<a.length;i++){if(Character.isLowerCase(a[i])){a[i]=Character.toUp

perCase(a[i]);}elseif(Character.isUpperCase(a[i])){a[i]=Character.toLowerCase(a[i]);}}s=newString(a);Syste

m.out.println(s);}}5.5Date类Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。用Date的构造方法Date(longtime)创建的Date对象表示相对1970年1月1日0点(GMT)的时间。获取系统

时间:System类的静态方法publiclongcurrentTimeMills()用此方法获取的时间是从1970年1月1日0点(GMT)到目前时刻所走过的毫秒数。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、

年5.5Date类格式化日期:DateFormat的子类SimpleDateFormat实现日期的格式化,采用SimpleDateFormat的常用构造方法:publicSimpleDateFormat(Stringpattern)用

该构造方法创建的对象调用format(Datedate)方法格式化时间对象date。注:pattern中应当还有一些有效的字符序列,如下:–y或yy表示用2位数字输出年份;yyyy表示用4位数字输出年份–M或MM表示用2位数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少

3个M,如:MMM。–d或dd表示用2位数字输出日–H或HH表示用2位数字输出小时–m或mm表示用2位数字输出分–s或ss表示用2位数字输出秒–E表示用字符串输出星期5.5Date类importjava.util.Date;importjava.text.Si

mpleDateFormat;classExample5_13{publicstaticvoidmain(Stringargs[]){DatenowTime=newDate();System.out.println("现

在的时间:"+nowTime);SimpleDateFormatmatter1=newSimpleDateFormat("yyyy年MM月dd日北京时间");System.out.println("现在的时间:"+matter1.format

(nowTime));SimpleDateFormatmatter2=newSimpleDateFormat("yyyy年MM月Edd日HH时mm分ss秒北京时间");System.out.println("现在的时间:"+

matter2.format(nowTime));SimpleDateFormatmatter3=newSimpleDateFormat("北京时间dd日HH时MMMss秒mm分EE");System.out.println("现在的时

间:"+matter3.format(nowTime));longtime=-1800;Datedate=newDate(time);System.out.println("-1800秒表示的日期时间是

:"+date);}}5.6Calendar类Calendar类在java.util包中。使用Calendar类的static方法getInstance()可初始化一个日历对象。如:Calendarcalend

ar=Calendar.getInstance();可以调用以下方法,可以将日历翻到任何一个时间:publicfinalvoidset(intyear,intmonth,intdate)publicfinalvoidset(intyear,intmonth,intdate,inthour,in

tminute)publicfinalvoidset(intyear,intmonth,intdate,inthour,intminute,intsecond)当参数year取负数时候表示公元前。5.6Calendar类调用方法publicintget(i

ntfield)可以获得有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定。例如:calendar.get(Calendar.MONTH);返回一个整数,如果整数是0表示当前是在一月,整数是1表示当前日历是在二月。调用方法publicintge

tTimeInMillis()可以将时间表示为毫秒。5.6Calendar类importjava.util.*;classExample5_14{publicstaticvoidmain(Stringargs[]){Calendarcalendar=Calend

ar.getInstance();//创建一个日历对象。calendar.setTime(newDate());//用当前时间初始化日历时间。String年=String.valueOf(calendar.get(Calendar.YEAR)),月=String.valueOf(calendar.

get(Calendar.MONTH)+1),日=String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)),星期=String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)-1);inthou

r=calendar.get(Calendar.HOUR_OF_DAY),minute=calendar.get(Calendar.MINUTE),second=calendar.get(Calendar.S

ECOND);System.out.println("现在的时间是:");System.out.println(""+年+"年"+月+"月"+日+"日"+"星期"+星期);System.out.println(""+hour+"时

"+minute+"分"+second+"秒");calendar.set(1962,5,29);//将日历翻到1962年6月29日,注意5表示六月。longtime1962=calendar.getTimeInMillis();

calendar.set(2003,9,5);//将日历翻到2003年10月5日。9表示十月。longtime2003=calendar.getTimeInMillis();long相隔天数=(time2003-time1962)/(1000*60*60*24

);System.out.println("2003年10月5日和1962年6月29日相隔"+相隔天数+"天");}}5.6Calendar类importjava.util.*;classExample5_15{publicstaticvoidmain(Str

ingargs[]){System.out.println("日一二三四五六");Calendar日历=Calendar.getInstance();日历.set(2004,9,1);//将日历翻到2004年10月1日,注意0表示一月。//获取1日是星期几(get

方法返回的值是1表示星期日,星期六返回的值是7):int星期几=日历.get(Calendar.DAY_OF_WEEK)-1;Stringa[]=newString[星期几+31];//存放号码的一维数组for(inti=0;i<星期几;i++){a[i]="**";}for(inti=星

期几,n=1;i<星期几+31;i++){if(n<=9)a[i]=String.valueOf(n)+"";elsea[i]=String.valueOf(n);n++;}//打印数组:for(inti=0;i<a.

length;i++){if(i%7==0){System.out.println("");//换行。}System.out.print(""+a[i]);}}}5.7Math类Math类包含在Java.lang包中,它包含很多用来进行科学计算的类方法,

这些方法可以直接通过类名调用。Math类的两个静态常量,E和PI,E=2.7182828284590452354PI=3.141592653589793238465.7Math类Math类的常用方法:•publicstaiclongabs(doublea)返回a的绝对值•pu

blicstaicdoublemax(doublea,doubleb)返回a、b的最大值•publicstaicdoublemin(doublea,doubleb)返回a、b的最小值•publicstaicdoublerandom()产生一个0~1之间的随机数(不包括0

和1)•publicstaicdoublepow(doublea,doubleb)返回a的b次幂•publicstaicdoublesqrt(doublea)返回a的平方根•publicstaicdoublelog(doublea)返回a的对数•publicst

aicdoublesin(doublea)返回a的正弦值•publicstaicdoubleasin(doublea)返回a的反正弦值5.7Math类NumberFormat类的方法格式化显示数字常用方法publicfinalStringformat(doublenumber)publicvo

idsetMaximunFractionDigits(intnewValue)publicvoidsetMinimunFractionDigits(intnewValue)publicvoidsetMaximumIntegerDigi

ts(intnewValue)publicvoidsetMinimumIntegerDigits(intnewValue)5.7Math类例子16:5.8Vector类java.util包中的Vector类负责创建一个向量对象。向量创建时,不用给出大小。向量大小

自动增加。创建方法:Vectora=newVector();当把某一种类型的对象放入一个向量后,数据被默认为是Object对象。5.8Vector类Vector类常用的方法:•publicvoidadd(Objecto)将对象o添加到向量的末尾•publicvoidadd(intindex,Ob

jecto)将对象o插入到向量的指定位置•publicvoidaddElements(Objecto)将对象o添加到向量的末尾•publicbooleancontains(Objecto)判断对象o是否为向量的成员•publicObjectele

mentAt(intindex)获取指定位置处的成员5.8Vector类•publicObjectget(intindex)获取向量指定位置处的成员•publicObjectfirstElement()获取此向量的第一个成员•publicObjectlastElement()获取此向量的最后一

个成员•publicintindexOf(Objecto)获取对象O在此向量中首次出现的位置•publicintindexOf(Objecto,intindex)从指定位置查找对象o在此向量中首次出现的位置•publicintlastIn

dexOf(Objecto)获取对象o在此向量中最后出现的位置•publicintlastIndexOf(Objecto,intindex)对象o在此向量位置index之前最后出现的位置。5.8Vector类•publicObjectremove(inti

ndex)从此向量中删除指定位置处的成员,并返回这个成员•publicvoidremoveAllElements()删除向量的所有成员•publicbooleanremoveElement(Objecto)删除第一次出现的成员o•publ

icbooleanremoveElement(intindex)删除指定位置处的成员•publicvoidset(intindex,Objecto)把指定位置处的成员用o替换掉•publicvoidsetElementAt(Objecto,intind

ex)把指定位置处的成员用o替换掉•publicEnumerationelements()获取一个枚举对象。5.8Vector类•例子17:importjava.util.*;classExample5_17{publics

taticvoidmain(Stringargs[]){Vectorvector=newVector();for(inti=1;i<=18;i++){vector.add(newInteger(i));//向量填加18个整数对

象.}inta[]=newint[vector.size()];inti=0;while(vector.size()>0){intnumber=(int)(Math.random()*vector.size());Integerinteger=(Integer)v

ector.elementAt(number);a[i]=integer.intValue();//得到整数对象中的int数.vector.removeElementAt(number);//向量移掉number处的整数对

象.i++;}for(i=0;i<18;i++){System.out.print(""+a[i]);}}}5.9LinkedList类•链表是由若干个称做节点的对象组成的一种数据结构,每个节点都含有一个数据和下一个节点对象的引用(单链表),或含有一个数据并含有上一个节点对象的引用和下一个节点对

象的引用(双链表),节点的索引从0开始。5.9LinkedList类•创建链表使用java.until包中的LinkedList类创建一个链表。如:LinkedListmylist=newLinkedList();创建了一个空链表然后添加节点,用add()方法如:mylist.ad

d(“It”);mylist.add(“is”);mylist.add(“a”);mylist.add(“door”);5.9LinkedList类•LinkedList类的常用方法•publicbooleanadd(Objectelement)向链表的末尾

添加一个新的节点对象element•publicvoidadd(intindex,Objectelement)向链表的指定位置添加一个新的节点对象element•publicvoidaddFirst(Objectelement)把节点对象element填加到链表的表头•publ

icvoidaddLast(Objectelement)把节点对象element填加到链表的末尾•publicvoidclear()删除链表的所有节点对象•publicObjectremove(intin

dex)删除指定位置上的节点对象5.9LinkedList类•publicbooleanremove(Objectelement)将首次出现的节点对象element删除•publicObjectremoveFirst()删除第一

个节点对象,并返回这个节点对象•publicObjectremoveLast()删除最后一个节点对象•publicObjectget(intindex)得到链表中指定位置处的节点对象•publicObjectgetFirst()得到链表中的第一个节点对象•publicObjectg

etLast()得到链表中最后一个节点对象•publicintindexOf(Objectelement)返回节点对象element在链表中首次出现的位置,如果链表中无此节点对象则返回-15.9LinkedList类•publicint

lastIndexOf(Objectelement)返回节点对象element在链表中最后出现的位置,如果链表中无此节点对象则返回-1•publicObjectset(intindex,Objectelement)用节点对象element替换链表中指定位置处的节点对象。并返回链表中先前位置

处的节点对象。•publicintsize()返回链表的长度,即节点个数•publicbooleancontains(Objectelement)判断链表节点对象中是否含有element。5.9LinkedList类例子18:importjav

a.util.*;publicclassExample5_18{publicstaticvoidmain(Stringargs[]){LinkedListmylist=newLinkedList();mylist.add("is");mylist.add("

a");intnumber=mylist.size();System.out.println("现在链表中有"+number+"个节点:");for(inti=0;i<number;i++){Stringtemp=(String)mylist.get(i);Sy

stem.out.println("第"+i+"节点中的数据:"+temp);}mylist.addFirst("It");mylist.addLast("door");number=mylist.size();System.out.println(

"现在链表中有"+number+"个节点:");for(inti=0;i<number;i++){Stringtemp=(String)mylist.get(i);System.out.println

("第"+i+"节点中的数据:"+temp);}mylist.remove(0);mylist.remove(1);mylist.set(0,"open");number=mylist.size();System.out.println("现在链表中有"+num

ber+"个节点:");for(inti=0;i<number;i++){Stringtemp=(String)mylist.get(i);System.out.println("第"+i+"节点中的数

据:"+temp);}}}5.9LinkedList类使用Iterator类遍历列表一个链表对象可以使用iterator()方法获取一个Iterator对象,然后使用next()方法遍历链表。5.9LinkedList类例子19:importjava.util.*;classStudent{St

ringname;intnumber;floatscore;Student(Stringname,intnumber,floatscore){this.name=name;this.number=number;this.score=score;}}publicclas

sExample{publicstaticvoidmain(Stringargs[]){LinkedListmylist=newLinkedList();Studentstu_1=newStudent("赵好民",9012,80.0f),stu_2=newStudent

("钱小青",9013,90.0f),stu_3=newStudent("孙力枚",9014,78.0f),stu_4=newStudent("周左右",9015,55.0f);mylist.add(stu_1);mylist.add(stu_2);mylist.add(stu_3);myli

st.add(stu_4);Iteratoriter=mylist.iterator();while(iter.hasNext()){Studentte=(Student)iter.next();System.out.println(te.name+""+te.number+""+te.score

);}}}5.10Stack类堆栈是一种“后进先出”的数据结构,只能在一端进行输入或输出数据的操作。压栈:向堆栈中输入数据的操作弹栈:从栈中输出数据的操作5.10Stack类使用java.util包中的Sta

ck类创建一个堆栈对象,方法:publicObjectpush(Objectdate);输入数据,实现压栈操作publicObjectpop();输出数据,实现弹栈操作publicbooleanempty();

判断堆栈是否还有数据,有数据返回false,否则返回truepublicObjectpeek();查看堆栈顶端的数据,但不删除数据publicintsearch(Objectdata);获取数据在堆栈中的位置,最顶端的位置是1,向下依次增加,如果堆栈不含

此数据,则返回-15.10Stack类例子20:importjava.util.*;classExample5_20{publicstaticvoidmain(Stringargs[]){Stackmystack=newStack();mystac

k.push(newInteger(1));mystack.push(newInteger(1));intk=1;while(k<=10)for(inti=1;i<=2;i++){IntegerF1=(Int

eger)mystack.pop();intf1=F1.intValue();IntegerF2=(Integer)mystack.pop();intf2=F2.intValue();Integertemp=newInteger(f1+f2);

System.out.println(""+temp.toString());mystack.push(temp);mystack.push(F2);k++;}}}5.11Hashtable类散列表是使用相关关键字查找被存储的数据项的一种数据结构。使用java.util

包中的Hashtable类来创建散列表对象5.11Hashtable类常用方法:•publicHashtable()创建具有默认容量和装载因子为0.75的散列表•publicHashtable(intinitialCapacity)创建具有指定容量和装载因子为

0.75的散列表•publicHashtable(intinitialCapacity,folatloadFactor)创建具有默认容量和指定装载因子的散列表•publicvoidclear()清空散列

表•publicbooleancontains(Objecto)判断散列表是否含有元素o•containsKey(Objectkey)判断散列表是否使用了关键字key•publicObjectget(Objectkey)获取散列表中具有关键字key的数据项•p

ublicbooleanisEmpty()判断散列表是否为空•publicObjectput(Objectkey,Objectvalue)向散列表添加数据项value并把关键字key关联到数据项value5.11Hashtable类•publicObjectremove(Objectkey

)删除关键字是key的数据项•publicintsize()获取散列表中关键字的数目•publicEnumerationkeys()返回散列表所用的关键字的一个枚举对象5.11Hashtable类importjava.util.*;classStudent{intenglish=0;Stringn

ame,number;Student(Stringna,Stringnu,inte){english=e;name=na;number=nu;}}publicclassExample{publicstaticvoidmain(Stringargs[]

){Hashtablehashtable=newHashtable();hashtable.put("199901",newStudent("199901","王小林",98));hashtable.put("199902",newStudent("199902","能林

茂",70));hashtable.put("199903",newStudent("199903","多种林",93));hashtable.put("199904",newStudent("199904",

"围林蛤",46));hashtable.put("199905",newStudent("199905","夹贸林",77));hashtable.put("199906",newStudent("199906","噔林可"

,55));hashtable.put("199907",newStudent("199907","降王林",68));hashtable.put("199908",newStudent("199908","纠林咯",76));Studentstu=(Student)hasht

able.get("199902");//检索一个元素。System.out.println(stu.number+""+stu.name+""+stu.english);hashtable.remove("199906")

;//删除一个元素System.out.println("散列表中现在含有:"+hashtable.size()+"个元素");Enumerationenum=hashtable.elements();while(enum.hasMoreElemen

ts())//遍历当前散列表。{Students=(Student)enum.nextElement();System.out.println(s.number+""+s.name+""+s.english);}}}作业1.StringBuffer类的构造方法都有哪些

?2.Character类的常用方法有那些,都如何使用?3.如何格式化时间对象?4.LinkedList类都有哪些常用方法,分别什么作用?5.Hashtable类的常用方法有哪些?

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?