版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章常用类《Java面向对象程序设计案例教程(第2版)》目录/Contents7.17.27.3字符串类Scanner类Math类与Random类7.4
日期时间类7.5
StingBuffer类思政要点/Point严谨求实的工作态度对细节的关注和对技术严谨性的追求诚信与责任担当
当代码出现错误时,要有勇于承担责任的精神,积极寻找解决方案。字符串类7.1
在程序开发中经常会用到字符串。字符串是指一连串的字符,它是由许多单个字符连接而成的,如多个英文字母所组成的一个英文单词。字符串中可以包含任意字符,这些字符必须包含在一对双引号""之内,例如"abe"。Java中定义了封装字符串的类,如:String类、StringBuffer类,它们位于java.lang包中,并提供了一系列操作字符串的方法,这些方法不需要导包就可以直接使用。下面将对String类、StringBuffer类进行详细讲解。7.1字符串类
Stringstrl="helloworld";7.1.1创建字符串在使用String类进行字符串操作之前,首先需要对String类进行初始化。在Java中可以通过以下两种方式对String类进行初始化,具体如下。1.使用字符串常量直接初始化一个String对象由于String类比较常用,所以提供了这种简化的语法,用于创建并初始化String对象,其中”helloworld”表示一个字符串常量。7.1.1创建字符串2.String类的常见构造方法方法声明功能描述String()创建一个内容为空的字符串String(Stringvalue)根据指定的字符串内容创建对象String(Char[]value)根据指定的字符数组创建对象String(Byte[]bytes)根据指定的字节数组创建对象charcharAt(intindex)返回指定索引处的char值intcompareTo(Objecto)将这个字符串与另一个对象进行比较intcompareTo(StringanotherString)按字典顺序比较两个字符串Stringconcat(Stringstr)将指定字符串连接到此字符串的结尾7.1.1创建字符串方法声明功能描述booleanequals(ObjectanObject)将此字符串与指定的对象进行比较intlength()返回此字符串的长度intlastIndexOf(intch)返回指定字符在此字符串种最后一次出现处的索引intlastIndexOf(intch,intfromIndex)返回指定字符在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索Stringreplace(charoldChar,charnewChar)返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的Stringsubstring(intbeginIdex)返回一个新的字符串,它是此字符串的一个子字符串StringtoString()返回此对象本身的字符串内容Stringtrim()返回字符串的副本,去掉头部与尾部的空白publicclassExample01{publicstaticvoidmain(Stringargs[]){Stringsl="太阳当空照";Strings2=sl.concat("花儿对我笑");System.out.println(s2);}}7.1.2连接字符串String类提供了两种连接字符串的方法。1.publicStringconcat(Stringstr)方法publicclassExample02{publicstaticvoidmain(Stringargs[]){Stringsl="太阳当空照";Strings2=sl+"花儿对我笑";System.out.println(s2);}}7.1.2连接字符串2.字符串连接符“+”Scanner类7.27.2Scanner类importjava.util.Scanner;publicclassExample03{publicstaticvoidmain(String[]args){//实例化Scannerscan=newScanner(System.in);//以next方式接收字符串System.out.println("next方式接收:");//判断是否还有输入数据if(scan.hasNext()){Stringstrl=scan.next();System.out.println("输入的数据为:"+strl);}//关闭scan.close();}}java.util.Scanner主要用于录人用户键盘输入的内容7.2Scanner类importjava.util.Scanner;publicclassExample04{publicstaticvoidmain(String[]args){//实例化Scannerscan=newScanner(System.in);//以next方式接收字符串System.out.println("next方式接收:");//判断是否还有输入数据if(scan.hasNextLine()){Stringstrl=scan.nextLine();System.out.println("输入的数据为:"+strl);}//关闭scan.close();}}接下来使用nextLine方法,示例代码如下。7.2Scanner类(1)一定要读取到有效字符后才可以结束输入。(2)对于输入有效字符之前遇到的空格,next方法会自动将其去掉。(3)只有输入有效字符后才能将其后面输入的空格当作分隔符或者结束符。(4)next不能得到带有空格的字符串。1.next方法的特点2.nextLine方法的特点(1)返回的是输人回车符之前的所有字符。(2)可以获得空格。Math类与Random类7.37.3.1Math类方法声明功能描述abs(doublea)用于计算a的绝对值sqrt(doublee)用于计算a的方根cell(doublea)用于计算大于等于a的最小整数,并将该整数转化为double型数据floor(doublea)用于计算小于等于a的最大整数,并将round(doublea)用于计算小数a进行四舍五入后的值max(doublea,doubleb)用于返回a和b的较大值min(doublea,doubleb)用于返回a和b的较小值random()用于生成一个大于0.0小于1.0的随机值(包括0不包括1)pow(doublea,doubleb)用于计算a的b次幂7.3.2Random类方法声明功能描述doublenextDouble()生成double类型的随机数floatnextFloat()生成float类型的随机出intnextInt()生成int类型的随机出intnextInt(intn)生成0—nint类型的随机出7.3.2Random类示例代码importjava.util.Random; publicclassExample06{publicstaticvoidmain(String[]args){Randomr1=newRandom();//创建Random实例对象System.out.println("产生float类型随机:"+r1.nextFloat());System.out.println("产生double类型的随机数:"+r1.nextDouble());System.out.println("产生int类型的随机数:"+r1.nextInt());System.out.println("产生0-100之间int类型的随机数:"+r1.nextInt(100));}}日期时间类7.47.4日期时间类类的名称功能描述Instant表示时刻,代表的是时间戳LoaclDate不包含具体时间的日期LoaclTime不包含日期的时间LoaclDateTime包含了日期和时间Duration基于时间的值测量时间量Period计算日期时间差异,智能精确到年月日Clock时钟系统,用于查找当前时刻StringBuffer类7.57.5StringBuffer类
当对字符串频繁修改的时候,需要使用StringBuffer或StringBuilder类。与String类不同的是,StringBuffer和StringBuilder类的对象能够多次修改并且不产生新的未使用对象。
StringBuilder与StringBuffer的最大不同在于StringBuilder的方法不是线程安全的。由于StringBuilder相较于StringBuffer有速度优势,所以大多数情况下建议使用StringBuilder类。然而,在应用程序要求线程安全的情况下,必须使用StringBuffer类。7.5.1StringBuffer对象的创建StringBuffer对象代表一组可改变的Unicode字符序列,StringBuffer有多个重载的构造方法。1.StringBuffer()此方法用于创建一个空的字符缓冲,长度为16个字符容量。2.StringBuffer(intcapacity)此方法用于以指定的初始容量创建一个空的字符缓冲。3.StringBuffer(StringinitString)此方法用于创建包含initString的字符缓冲,并加上16个字符的备用空间。7.5.1StringBuffer对象的创建示例代码publicclassExample07{publicstaticvoidmain(String[]args){StringBuffersb1=newStringBuffer();StringBuffersb2=newStringBuffer(10);StringBuffersb3=newStringBuffer("Jason");System.out.println(sb1);System.out.println(sb2);System.out.println(sb3);}}7.5.2StringBuffer类的常用方法方
法描
述publicStringBufferappend(Strings)将指定的字符串追加到此字符序列中publicStringBufferreverse()将此字符序列以其反转形式取代publicdelete(intstart,intend)移除此序列的子字符串中的字符publicinsert(intoffset,inti)将int参数的字符串表示形式插入此序列replace(intstart,intend,Stringstr)使用给定String中的字符替换此序列的子字符串中的字符7.5.2StringBuffer类的常用方法示例代码publicclassExample08{publicstatic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合肥泓瑞金陵大酒店外包岗位招聘4名参考笔试题库附答案解析
- 2025年广西百色市乐业县专业森林消防救援队伍招聘13人考试备考题库及答案解析
- 2026广东深圳北理莫斯科大学学生工作部学生管理服务岗招聘2人模拟笔试试题及答案解析
- 深度解析(2026)《GBT 25937-2010子午线轮胎一次法成型机》(2026年)深度解析
- 2025福建漳州市龙文城建物业服务有限公司招聘若干人考试备考题库及答案解析
- 2025年合肥产投康养集团有限公司及子公司社会招聘17名参考考试题库及答案解析
- 2025河南轻工职业学院招聘工作人员(硕士)46人考试备考题库及答案解析
- 深度解析(2026)GBT 25659.1-2010简式数控卧式车床 第1部分:精度检验
- 深度解析(2026)GBT 25615-2010土方机械 司机位置发射声压级的测定 动态试验条件
- 2025重庆酉阳自治县城区事业单位公开遴选34人备考考试题库及答案解析
- 2025-2030农村养老服务体系建设现状与可持续发展策略研究
- 2025年事业单位招聘考试卫生类中医学专业知识试卷
- 2025注册城乡规划师考试真题及答案详解
- 特殊疑问句的教学课件
- 船舶进出港调度智能化方案
- 疾控中心岗位管理办法
- PLC控制技术(三菱FX3U)试题库及答案
- 英文版合同委托付款协议
- 维保项目投标文件终版
- 重庆长寿县2025年上半年公开招聘城市协管员试题含答案分析
- 农药剂型与加工课件
评论
0/150
提交评论