已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章,常用类介绍,回顾与作业点评,内部类对象包装器装箱与拆箱,本章任务,掌握String类掌握正则表达式掌握时间获取与计算JAVA语言国际化,知识要点,String类正则表达式时间获取与计算JAVA语言国际化,9.1String类,String类在java中String并非基本数据类型,而是把字符串当作对象来处理java.lang.String类提供了一系列操作字符串的方法,使得字符串的生成、访问和修改等操作容易和规范,创建String对象,Stringstr1;str1=“HelloMstanford!”;或者:Stringstr2=“HelloMstanford!”;或者:Stringstr3=newString(“HelloMstanford!”);,str3是用new关键字创建的String类的对象。虽然它的实体也是“HelloMstanford!”,但它与str1、str2占用不同的内存地址,String相关方法,9.1.1字符串常量:用双引号“”括起,一个字符占2个字节,是final类,是不可变的。,publicclassInternStringpublicstaticvoidmain(Stringargs)Stringstr1=fly;/Stringstr2=weight;Stringstr3=flyweight;Stringstr4=null;str4=str1+str2;/如果字符串1和字符串2通过+连接产生的对象是str3指向的那么表示字符串是可变的System.out.println(str3=str4);/false/如果不是str3表示的字符串那么表示两个链接后产生了新的字符串对象。用str4来指定。str4=(str1+str2).intern();/要想str3和str4指向同一个对象就可以通过.intern()这个方法来达到。System.out.println(str3=str4);,9.1.1字符串对象操作,1字符串长度length,计算字符串长度,字符串,长度,调用length()方法获得,返回字符串中的字符数,调用方法:,字符串标识符.length();,方法原型:,publicintlength(),2charAt方法Strings=“csdn”;System.out.println(s.charAt(2);/d,3equals(是否相等)、equalsIgnoreCase(忽略大小写是否相等)方法,equals()方法比较原理“=”和equals()有什么区别呢?,字符串1,字符串2,equals():检查组成字符串内容的字符是否完全一致,str1,str2,B,D,Q,N,0 x2a486c,0 x2a486c,B,D,Q,N,str1=str2?true,0 x2aac83,Str1.equals(str2)?false,=:判断两个字符串在内存中的首地址,即判断是否是同一个字符串对象,4compareTo(比较大小)和compareToIgnoreCase(忽略大小写比较大小)方法,5indexOf(Strings):从字符串的头开始检索s,并返回首次出现s的位置。如果不存在则返回-1.,6startsWith和endsWith方法:测试此字符串是否以指定的前缀开始或结束。,7regionMatches方法:publicbooleanregionMatches(booleanignoreCase,inttoffset,Stringother,intooffset,intlen)测试两个字符串区域是否相等。将此String对象的子字符串与参数other的子字符串进行比较。如果这两个子字符串表示相同的字符序列,则结果为true,当且仅当ignoreCase为true时忽略大小写。要比较的此String对象的子字符串从索引toffset处开始,长度为len。要比较的other的子字符串从索引ooffset处开始,长度为len。,9.1.3字符串对象修改,1.substring方法:substring(intbeginIndex,intendIndex)返回一个新字符串,它是此字符串的一个子字符串。Strings=“北京传智播客教育有限公司”;System.out.println(s.substring(2);/传智播客教育有限公司System.out.println(s.substring(2,8);/传智播客教育2.replace方法:replace(charoldChar,charnewChar)返回一个新的字符串,它是通过用newChar替换此字符串中出现的所有oldChar得到的。Strings=“mesqiteinyourcellar”.replace(e,o);/”mosquitoinyourcollar”,9.1.3字符串对象修改,trim方法:trim()返回字符串的副本,忽略前导空白和尾部空白。Strings=“mynameisxmh”;s.trim();/=“mynameisxmh”;4concat方法:Stringconcat(Stringstr)将指定字符串连接到此字符串的结尾。“cares”.concat(“s”);/careess5split方法:Stringsplit(Stringregex)根据给定正则表达式的匹配拆分此字符串。,publicclassSplitStringDemopublicstaticvoidmain(Stringargs)StringfakeFileData=justint64/5/26t0939002302t5433343,momort68/7/23t0939100391t5432343;for(Stringdata:fakeFileData)Stringtokens=data.split(t);/t为字符串的分割符号。for(Stringtoken:tokens)System.out.print(token+t|);System.out.println();,9.1.4类型转换,1.转化为整型:Integer.parseInt(“33”)转化为float或double型:Float.parseFloat(“22.4”)将数值转化为字符串:x=22.3;String.valueOf(x)将字符串中的字符复制到字符数组S=“mynameisxmh”;chartemp=newchar6;s.getChars(2,8,temp,0);/nameis,正则表达式语法一个正则表达式就是由普通字符(例如字符a到z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。,这里有一些可能会遇到的正则表达式示例:,9.2StringBuffer类:是一个内容可变的字符序列,publicclassTestStringBufferpublicstaticvoidmain(Stringargs)StringBufferbuf=newStringBuffer(Java);buf.append(GuideVer1/);/附加buf.append(3);intindex=5;buf.insert(index,Student);/插入index=23;/指定的位置buf.setCharAt(index,.);/替换设置新的字符intstart=24;intend=25;buf.replace(start,end,4);Strings=buf.toString();/转换为字符串System.out.println(s);,StringBuffer:String增强版StringBuffer声明StringBuffer的使用,StringBuffersb=newStringBuffer();StringBuffersb=newStringBuffer(aaa);,创建空StringBuffer对象,创建一个变量存储字符串aaa,sb.toString();/转化为String类型,sb.append(*);/追加字符串,9.3StringBuilder类的使用:是一个可变的字符序列,java.lang类StringBuilderjava.lang.Objectjava.lang.StringBuilder所有已实现的接口:Serializable,Appendable,CharSequence,publicfinalclassStringBuilderextendsObjectimplementsSerializable,CharSequence一个可变的字符序列。,9.4日期类简介1.java.lang.System类:staticlongcurrentTimeMillis()返回以毫秒为单位的当前时间。publicclassTestTimeSystempublicstaticvoidmain(Stringargs)/测试我的循环像个多长时间longstartTime=System.nanoTime();/以毫微秒为单位System.out.println(开始跑起始时间是:+startTime);for(inti=0;i100;i+)System.out.println(我已经跑了+i+圈了);longestimatedTime=System.nanoTime()-startTime;System.out.println(共花了+estimatedTime+毫微秒);,2.java.util.Date:日期类:使用系统当前的时间System.currentTimeMillis()创建一个Date实例,importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;publicclassTestDateFormatpublicstaticvoidmain(Stringargs)Datedate=newDate();/产生一个Date实例SimpleDateFormatformater=newSimpleDateFormat();/产生一个formater格式化的实例System.out.println(formater.format(date);/打印输出默认的格式SimpleDateFormatformater2=newSimpleDateFormat(yyyy年MM月dd日EEEHH:mm:ss);/实例化一个指定的格式对象System.out.println(formater2.format(date);/按指定的格式输出tryDatedate2=formater2.parse(2008年08月08日星期一08:08:08);System.out.println(date2.toString();/将指定的日期解析后格式化按指定的格式输出catch(ParseExceptione)e.printStackTrace();,3java.util.Calendar类:日历类,用于完成日期字段的相互操作的功能,可设置和获取日期数据的特定部分。DategetTime()返回一个表示此Calendar时间值(从历元至现在的毫秒偏移量)的Date对象。longgetTimeInMillis()返回此Calendar的时间值,以毫秒为单位。,importjava.util.Calendar;importjava.util.GregorianCalendar;publicclassTestCalendarpublicstaticvoidmain(Stringargs)/CalendarobjCalendar=Calendar.getInstance();CalendarobjCalendar=newGregorianCalendar();/显示Date和Time的各个组成部分System.out.println(Date和Time的各个组成部分:);System.out.println(年:+objCalendar.get(Calendar.YEAR);/一年中的第一个月是JANUARY,它为0System.out.println(月:+(objCalendar.get(Calendar.MONTH);System.out.println(日:+objCalendar.get(Calendar.DATE);/Calendar的星期常数从星期日Calendar.SUNDAY是1,/到星期六Calendar.SATURDAY是7System.out.println(星期:+(objCalendar.get(Calendar.DAY_OF_WEEK);System.out.println(小时:+objCalendar.get(Calendar.HOUR_OF_DAY);System.out.println(分钟:+objCalendar.get(Calendar.MINUTE);System.out.println(秒:+objCalendar.get(Calendar.SECOND);,9.5java语言国际化时间的获取与计算1.java.util.Local类:代表一种特定的语言和地区。NewLocale(“zh”,”CN”);Local.CHINA;2.java.util.ResourceBundle类:根据特定的语言环境加载对应的资源包。3.java.text.MessageFormat类:MessageFormat提供了以与语言无关方式生成连接消息的方式。使用此方法构造向终端用户显示的消息。MessageFormat获取一组对象,格式化这些对象,然后将格式化后的字符串插入到模式中的适当位置。,importjava.text.MessageFormat;importjava.util.Date;importjava.util.Locale;importjava.util.ResourceBundle;publicclassI18NTest/*paramargs*/publicstaticvoidmain(Stringargs)Localelocale=Locale.CHINA;/newLocale(zh,CN);/设置本土化显示国家语言ResourceBundlebundle=ResourceBundle.getBundle(message,locale);/此类的作用是通过ResourceBundle类来进行资源文件的绑定/Stringvalue=bundle.getString(appName);Stringvalue2=bundle.getString(hello);/从资源文件中通过键拿到值System.out.println(value
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025北京振远护卫有限公司招聘备考题库附答案详解(轻巧夺冠)
- 糖尿病患者足部护理
- 浙江国企招聘-2025温州瑞安市浙南汽车市场管理有限公司公开招聘市场化工作人员10人备考题库及答案详解(历年真题)
- 先天性心脏病合并心力衰竭的护理策略
- 骨科术后康复护理与功能锻炼指导
- 老年脑梗死患者护理要点
- 社会支持系统在血液病患者心理护理中的作用
- 手术室护理配合流程优化实践
- 辞赋家冷为峰倾情创作广州赋
- 疫情相关护理文书规范书写与质量提升
- 精馏塔课件完整版本
- 部编七年级上册16《猫》导学案附答案
- 寄递企业禁毒培训
- 中国拱桥课件幼儿园
- 仓库出入库培训
- 26《西门豹治邺》 公开课一等奖创新教学设计
- JJF 2214-2025 机动车检测用气象单元校准规范
- 使用YOLOv8s技术进行锂电池射线缺陷检测的研究
- 直播保密协议书
- 丑小鸭儿童故事绘本课件
- 放射医学研究论文的范文
评论
0/150
提交评论