欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    【精品】java实用教程第7讲系统常用类(一)(可编辑.ppt

    • 资源ID:71304033       资源大小:703.50KB        全文页数:24页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【精品】java实用教程第7讲系统常用类(一)(可编辑.ppt

    Java实用教程第7讲系统常用类(一)(1)Scanner类 Java没有提供类似于C语言中的Scanf()方法从键盘上得到输入,而是采用I/O或Scannner类来完成从键盘、文件、内存等媒介中获取数据(2)字符串 字符串有可变长字符串和不可变长字符串之分,而对字符串进行比较时,很容易犯的错误就是使用“=”。(3)数据包转换 Java提供了数据包装类来实现基本数据类型与对象之间的转换。7.1 Scanner类类Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。它使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。可以使用不同的 next 方法将得到的标记转换为不同类型的值。Scanner常用的构造方法有三类:(1)Scanner(File source):构造一个新的Scanner,其生成值来自于指定文的文件。Scanner sc=new Scanner(new File(“ScannerFile.java”);(2)Scanner(InputStream source):构造一个新的 Scanner,其生成值来自于指定的输入流。Scanner in=new Scanner(System.in);(in,“标准”输入流。此流已打开并准备提供输入数据。)7.2.1 不可变长字符串不可变长字符串不可变长字符串,也称字符串常量,由String类创建创建方法有两种。如:String s1=“HelloWorld!”;String s2=newString(“HelloWorld!”);Java 程序中的所有字符串字面值(如 abc)都作为此类的实例实现。因为它是常量,所以其值在创建之后不能更改。思考:下面程序中字符串“HelloWorld”改变了吗?String s3=“HelloWorld”;s3=s3+“!”;7.2.1 不可变长字符串不可变长字符串“HelloWorld”的值没有改变,而s3又指向了一个新的字符串“HelloWorld!”。下面程序可以测试这种情况:/TestString.javapublic class TestString public static String addString(String s1)s1=s1+def;return s1;public static void main(String args)String s=abc;System.out.println(s);addString(s);System.out.println(s);7.2.1 不可变长字符串不可变长字符串因为字符串常量不能更改,所以对字符串常量的操作主要是检索字符串中的单个字符、比较字符串、搜索字符串、提取子字符串、创建字符串副本并将所有字符全部转换为大写或小写等操作。要深入了解String类中的方法,读者可以阅读JDK API文档。7.2.2 可变长字符串可变长字符串由StringBuffer和StringBuilder创建的字符串是可变长字符串,称为字符串变量。如:StringBuilder s5=new StringBuiler(“HelloWorld!”);对字符串变量的操作主要是添加、删除、修改等能够改变字符串内容和长度的操作,相关方法的用法请查阅J JD DK K A AP PI I文档。7.2.2 可变长字符串可变长字符串下面程序测试StringBufer类创建的字符串是可变长的。/TestStringBuffer.javapublic class TestStringBuffer public static StringBuffer addStringBuffer(StringBuffer buf1)return buf1.append(def);public static void main(String args)StringBuffer buf=new StringBuffer(abc);System.out.println(buf);addStringBuffer(buf);System.out.println(buf);7.2.2 可变长字符串可变长字符串 StringBuffer和StringBuilder类的区别:StringBuffer是线程安全的,能保证同步,而StringBuilder不是线程安全的,不能保证同步。注:在设计单线程的程序时StringBuilder的性能要高于StringBuffer。在设计多线程程序时,要保证线程安全,这时就必须使用StringBuffer了。7.2.2 可变长字符串可变长字符串参考StringBufferAndBuilder.java文件,测试在单线程中三个类(String、StringBuffer和StringBuilder)的效率;StringBufferAndBuilder.java是单线程程序,只有只有一个主线程main。从程序的运行结果可以看出:采用String对象时,即使运行次数仅是采用其他对象的1/100,其执行时间仍然比其他对象高出10倍以上;而采用StringBuffer对象和采用StringBuilder对象的差别也比较明显,前者是后者的2倍左右。除了对多线程的支持不一样外,StringBuffer类和StringBuilder类的使用几乎没有任何差别。7.2.3 字符串的比较字符串的比较 在进行比较两个字符串是否相同有两种方式,一种是使用String类中的equals(Object)方法,另一种则是利用“s1=s2”是对s1和s2中存储的地址值进行比较。参考TestEqualsOne.java程序,测试这两种比较方式;在TestEqualsOne.java中,需要注意的是,Java在存储字符串常量时(如:“abc”)采用了一种优化的策略,在内存中只存储一份。所以s1和s2都指向了“abc”。而s3和s4都是使用new来创建的字符串,所以在堆里面有两个“abc”,分别由s3和s4来指向。参考 TestEqualsTwo.java程序学习Object类中equals()方法的用法7.2.3 字符串的比较字符串的比较 两种字符串比较方法的区别:在String类中,equals()方法进行了重写,用来比较两个字符串内容是否相等。而在Object类中,equals()方法用来比较地址。在TestEqualsTwo.java中,equals()方法比较的是m1和m2的地址值是否相等,可以在MyClas类中对equals()方法进行重写,让其比较内容。7.2.3 字符串的比较字符串的比较7.3 数据包装类数据包装类Java是面向对象的语言,但基本数据类型和static却是非面向对象的。想要对基本类型数据进行更多的操作,最方便的方式就是将其封装成对象,因为在对象描述中可以定义更多的属性和行为。Java为每个基本数据类型提供了一个数据包装类。如表所示:本节以int类型的数据包装类Integer为例来展示数据包装类存在的好处:(1)基本数据类型和对象类型之间的转换;(2)基本数据类型和字符串之间的转换;7.3 数据包装类数据包装类 本节以int类型的数据包装类Integer为例来展示数据包装类存在的好处:(1)基本数据类型和对象类型之间的转换 下面代码展示了数据包装类可以使基本数据类型和对象类型之间自由转换:/DataWrapperOne.javapublic class DataWrapperOne public static void main(String args)int a=125,b=236;Integer i1=new Integer(a);Integer i2=Integer.valueOf(b);int x=i1.intValue();int y=i2.intValue();7.3 数据包装类数据包装类 自动装箱(也称自动包装)和自动解包(也称自动拆箱)是JDK1.5之后增加的新特性,即基本数据类型和对象类型之间的转换可以自动进行,如下面代码所示:/AutoBoxAndUnbox.javapublic class AutoBoxAndUnbox public static void main(String args)int a=new Integer(100);/自动拆箱Integer i=200;/自动装箱7.3 数据包装类数据包装类(2)基本数据类型和字符串之间的转换 下面代码展示了数据包装类可以使基本数据类型和字符串之间自由转换:/DataWrapperTwo.javapublic class DataWrapperTwo public static void main(String args)String s1=245;int a=Integer.parseInt(s1);int b=123;String s2=Integer.toString(b);7.3 数据包装类数据包装类本讲主要讲述了Scanner类的使用,以及可变长字符串和不可变成字符串用法,字符串的比较,最后简单介绍了数据包装类及其用法。7.4 本讲小结本讲小结讲后练习讲后练习1.把下面字符串中的数值进行从小到大的排序,生成一个数值有序的字符串。排序前:“12 -36 22 1 14 78 -9”排序后:“-36 -9 1 12 14 22 78”2.编写程序实现十进制与二进制、十进制与八进制、十进制与十六进制之间的相互转换。

    注意事项

    本文(【精品】java实用教程第7讲系统常用类(一)(可编辑.ppt)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开