版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章常用数据类型处理类Java语言程序设计(第2版〕课件写程序运行结果publicclassTest{publicstaticvoidmain(Stringargv[]){Stringx="hello";myMethod(x);System.out.println("x="+x);}staticvoidmyMethod(Stringk){k=k+",你好";System.out.println("k="+k);}}注意k引用变化k=hello,你好x=hello运行结果3.比较两个字符串intcompareTo(StringanotherString)booleanequals(ObjectanObject)booleanequalsIgnoreCase(StringanotherString)intcompareTo(StringanotherString):
当前串大,那么返回值>0;
当前串小,那么返回值<0;
两串相等,那么返回值=0。publicclassTestString{publicstaticvoidmain(Stringa[]){Stringx="hello1";Stringy="hello2";intresult=xpareTo(y);System.out.println(result);}}-1booleanequals(ObjectanObject)Strings1="Hello!World";Strings2="Hello!World";booleanb1=s1.equals(s2);booleanb2=(s1==s2);Strings1="Hello!World";Strings2=newString("Hello!World");booleanb1=s1.equals(s2);booleanb2=(s1==s2);特别地,intern()方法返回字符串的等同串。如下赋值等价:s2=ern();s2=s1;写程序运行结果publicclassTest{publicstaticvoidmain(Stringargs[]){Strings1="abc";Strings2="Abc";System.out.println(s1=s2);System.out.println(s1==s2);}}赋值Abctrue运行结果例7-1设有中英文单词对照表,输入中文单词,显示相应英文单词,输入英文单词显示相应中文单词。
publicclassWord{
publicstaticvoidmain(Stringargs[]){
String[][]x={{"good","好"},{"bad","坏"},{"work","工作"}};
intk;
Stringin=args[0];
if((k=find_e(x,in))!=-1)
System.out.println(x[k][1]);
elseif((k=find_c(x,in))!=-1)
System.out.println(x[k][0]);
else
System.out.println("无此单词");
}找英文单词找中文单词/*根据英文找中文,找到那么返回所在行位置,未找到那么返回-1*/
staticintfind_e(String[][]x,Stringy){
for(intk=0;k<x.length;k++)
if(x[k][0].equals(y))
returnk;
return-1;
}/*根据中文找英文,找到那么返回所在行位置,未找到那么返回-1*/
staticintfind_c(String[][]x,Stringy){
for(intk=0;k<x.length;k++)
if(x[k][1].equals(y))
returnk;
return-1;
}}
4.字符串的提取与替换charcharAt(intindex):返回指定位置的字符。Stringsubstring(intbeginIndex,intendIndex):返回从beginIndex位置开始到endIndex-1结束的子字符串。Stringsubstring(intbeginIndex):返回从beginIndex位置开始到串末尾的子字符串。Stringreplace(charoldchar,charnewchar):将字符串中所有oldchar字符换为newchar。StringreplaceAll(Stringregex,Stringreplacement):将字符串中所有与正那么式regex匹配的子串用新的串replacement替换。Stringtrim():将当前字符串去除前导空格和尾部空格后的结果作为返回的串。StringtoUpperCase():所有字符转大写。StringtoLowerCase():所有字符转小写。例7-2从命令行参数获取一个字符串,统计其中有多少数字字符,多少英文字母publicclassTest{publicstaticvoidmain(Stringargs[]){Stringa=args[0];intn=0,c=0;for(intk=0;k<a.length();k++){charx=a.charAt(k);if((x>='a'&&x<='z')||(x>='A'&&x<='Z'))c++;if(x>='0'&&x<='9')n++;}System.out.println("数字符:"+n+",字母符:"+c);}}5.字符串中字符或子串的查找方法功能(返回参数在串中的位置)indexOf(int
ch)ch的首次出现位置indexOf(int
ch,intstart)ch的首次出现位置≥startindexOf(Stringstr)str的首次出现位置indexOf(Stringstr,intstart)str的首次出现位置≥startlastIndexOf(intch)ch的最后出现位置lastIndexOf(intch,intstart)ch的最后出现位置≤startlastIndexOf(Stringstr)str的最后出现位置lastIndexOf(Stringstr,intstart)str的最后出现位置≤start找不到那么返回-1另外,还有两个方法可用来判断参数串是否为字符串的特殊子串。〔1〕booleanstartsWith(Stringprefix):判断参数串是否为当前串的前缀。Strings="hello,world";booleanx=s.startsWith("he");〔2〕booleanendsWith(Stringpostfix):判断参数串是否为当前串的后缀。写程序的运行结果publicclassTest3{publicstaticvoidmain(Stringa[]){Strings="ABCDEFGHIJK";System.out.println(s.charAt(3));System.out.println(s.substring(1,4));System.out.println(s.indexOf("EF"));}}DBCD4运行结果例7-3从一个代表带有路径的文件名中别离出文件名。publicclassGetFilename{/*以下方法获取文件名,文件名是最后一个分隔符\后面的子串*/publicstaticStringpickFile(Stringfullpath){intpos=fullpath.lastIndexOf('\\');if(pos==-1)returnfullpath;returnfullpath.substring(pos+1);}publicstaticvoidmain(Stringags[]){Stringfilename=pickFile("d:\\java\\example\\test.java");System.out.println("filename="+filename);}}split用来根据指定分隔符别离字符串格式:publicString[]split(Stringregex)例如:对于字符串str="boo:and:foo:bye"split(":")的结果为:{"boo","and","foo",“bye"}而split("o")的结果为:{"b","",":and:f","",":bye"}注意,参数串代表一个正那么表达式的匹配模式,分隔符如果是+、*等符号时,要进行转义处理,例如分隔符为“+〞,要写成"\\+"的正那么式。Stringx="1+2+4+5+8";x.split("\\+")的结果为{"1","2","4","5","8"}1.创立StringBuffer对象publicStringBuffer()publicStringBuffer(intlength)publicStringBuffer(Stringstr)7.1.2
StringBuffer类
2.StringBuffer的主要方法方法功能StringBuffer
append(Objectobj)将某个对象的串描述添加到StringBuffer尾部。StringBuffer
insert(intposition,Objectobj)将某个对象的串描述插入到StringBuffer中的某个位置。StringBufferinsert(intindex,char[]str,intoffset,int
len)将字符数组str中从offset位置开始的len个字符插入到串的index位置。StringBuffer
setCharAt(intposition,charch)用新字符替换指定位置字符。StringBuffer
deleteCharAt(intposition)删除指定位置的字符。StringBufferreplace(intstart,intend,Stringstr)将参数指定范围的一个子串用新串替换。Stringsubstring(intstart,intend)获取所指定范围的子串。思考以下代码段对应的运行结果StringBufferstr1=newStringBuffer();str1.append("Hello,mary!");str1.insert(6,30);System.out.println(str1.toString());结果为:Hello,30mary!
思考程序执行结果?classE{publicstaticvoidmain(String[]args){StringBuffersb1=newStringBuffer("hello");StringBuffersb2=newStringBuffer("hello");if(sb1.equals(sb2))System.out.println("equal");elseSystem.out.println("notequal");}}注意:StringBuffer类没有定义equals方法!notequal运行结果例7-4将一个字符串反转publicclassStringsDemo{publicstaticvoidmain(String[]args){Strings="DotsawIwasTod";intlen=s.length();StringBufferdest=newStringBuffer(len);for(inti=(len-1);i>=0;i--)
dest.append(s.charAt(i));System.out.println(dest.toString());}}Stringdes="";for(inti=(len-1);i>=0;i--){
des=des+s.charAt(i);
}StringBuffer有reverse()写程序的运行结果publicclassFoo{publicstaticvoidmain(String[]args){StringBuffera=newStringBuffer("A");StringBufferb=newStringBuffer("B");operate(a,b);System.out.println(a+","+b);}staticvoidoperate(StringBufferx,StringBuffery){x.append(y);y=x;}
}ABB运行结果7.2根本数据类型包装类基本数据类型数据类型包装类booleanBooleancharCharacterdoubleDoublefloatFloatlongLongintIntegershortShortbyteByte♣包装类的构造方法〔1〕构造方法形态多样例:Integer类publicInteger(intvalue)publicInteger(Strings)举例,Integerx=newInteger("123");♣从包装对象中抽取相应的数据每个包装类均提供有相应的方法Boolean类的对象,可以调用booleanValue()方法Integer类的对象,可以调用intValue()方法Character的对象,可以调用charValue()方法例如:
Integerx=newInteger(346);
intm=Value();
Character类提供有isDigit(charch)可判断某字符是否为数字;isLetter(charch)
可判断某字符是否为字母。除Character类外的所有包装类均提供有静态方法valueOf(Strings),它将得到一个相应类型的对象。
例如:("23")返回包装了数据值23的Long类型对象。♣包装类的用途--提供了丰富的static方法静态方法:parseXXX()方法staticbyteByte.parseByte(Strings)staticshortShort.parseShort(Strings)staticint
Integer.parseInt(Strings)staticlongLong.parseLong(Strings)staticfloatFloat.parseFloat(Strings)staticdoubleDouble.parseDouble(Strings)补充:别的进制数据分析t(String
s,
int
radix)例如,intx=Integer.parseInt("a8",16);将数字字符串分析得到整数某个进制,例:2,8,16x的值为168Integer类的toString(int
i,int
radix)方法返回一个整数的某种进制表示形式。
例如:Integer.toString(12,8)的结果为14Integer.toString(12,16)的结果为
C八进制十六进制7.3.1Date类Date():创立一个代表当前时间的日期对象;Date(longdate):根据毫微秒值创立日期对象。执行日期对象的toString()方法将按星期、月、日、小时、分、秒、年的默认顺序输出相关信息,例如:FriMar2706:34:48CST2021intcompareTo(DateanotherDate):结果为0代表相等;为负数代表
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 4937.201-2026半导体器件机械和气候试验方法第20-1部分:对潮湿和焊接热综合影响敏感的表面安装器件的操作、包装、标志和运输
- 细菌性角斑病防治技术指南
- 高血压膳食调理方案实施指引
- 营养师一对一膳食咨询方案
- 门店服务质量检查考核标准
- 专项应急演练评估验收标准
- 肉牛繁育改良技术操作指引方案
- 枇杷树高接换种综合技术规程
- 体重管理膳食控制方案指引
- 消防火灾疏散逃生演练实施方案
- 2026中国冶金地质总局山东局校园招聘46人笔试历年参考题库附带答案详解
- 2026中共广州市海珠区委社会工作部招聘雇员1人备考题库(广东)含答案详解(完整版)
- 光伏电站基础沉降监测方案
- 2026国家知识产权局专利局专利审查协作招聘1500名专利审查员信息重点基础提升(共500题)附带答案详解
- 2026年入党积极分子培训考试试题及答案
- 2026新教材语文 16.1《阿房宫赋》教学课件统编版高中语文必修下册
- 初中物理跨学科实践活动的设计与实施课题报告教学研究课题报告
- 2026春青岛版(五四制)三年级科学下册(全册)各单元知识点复习要点梳理
- 断肢再植术后血液循环观察指标及护理要点
- 2026广东深圳市优才人力资源有限公司招聘编外聘用人员(派遣至深圳市龙岗区机关事务管理局)补充笔试备考试题及答案详解
- 2026年广东省高三语文二模作文题目解析及范文:“意外”的价值
评论
0/150
提交评论