Java实用教程第7讲系统常用类(一)课件.ppt
-
资源ID:91510463
资源大小:1.04MB
全文页数:24页
- 资源格式: PPT
下载积分:9金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
Java实用教程第7讲系统常用类(一)课件.ppt
第7讲 系统常用类(一)7.1Scanner类类7.2 字符串字符串7.3 数据包装类数据包装类7.4 本讲小结本讲小结(1)Scanner类 Java没有提供类似于C语言中的Scanf()方法从键盘上得到输入,而是采用I/O或Scannner类来完成从键盘、文件、内存等媒介中获取数据(2)字符串 字符串有可变长字符串和不可变长字符串之分,而对字符串进行比较时,很容易犯的错误就是使用“=”。(3)数据包转换 Java提供了数据包装类来实现基本数据类型与对象之间的转换。7.1 Scanner类类Scanner是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。它使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。可以使用不同的 next 方法将得到的标记转换为不同类型的值。Scanner常用的构造方法有三类:(1)Scanner():构造一个新的Scanner,其生成值来自于指定文的文件。Scanner sc=new Scanner(new File(“Scanner”);(3)Scanner(String source):构造一个新的Scanner,其生成值来自于指定的字符串。import java.util.Scanner;public class TestScanner public static void main(String args)Scanner scan=new Scanner(Hello tom!I am learning Java);System.out.println(scan.nextLine();7.2 字符串字符串 本节将Java字符串分为不可变长字符串(字符串常量)和可变长字符串(字符串变量),本小节将主要介绍可变长和不可变长字符串,以及字符串之间的比较。7.2.1 不可变长字符串不可变长字符串不可变长字符串,也称字符串常量,由String类创建创建方法有两种。如:String s1=“HelloWorld!”;String s2=newString(“HelloWorld!”);Java 程序中的所有字符串字面值(如 abc)都作为此类的实例实现。因为它是常量,所以其值在创建之后不能更改。思考:下面程序中字符串“HelloWorld”改变了吗?String s3=“HelloWorld”;s3=s3+“!”;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 可变长字符串可变长字符串 StringBuffer和StringBuilder类的区别:StringBuffer是线程安全的,能保证同步,而StringBuilder不是线程安全的,不能保证同步。注:在设计单线程的程序时StringBuilder的性能要高于StringBuffer。在设计多线程程序时,要保证线程安全,这时就必须使用StringBuffer了。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 字符串的比较字符串的比较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 数据包装类数据包装类讲后练习讲后练习1.把下面字符串中的数值进行从小到大的排序,生成一个数值有序的字符串。排序前:“12 -36 22 1 14 78 -9”排序后:“-36 -9 1 12 14 22 78”2.编写程序实现十进制与二进制、十进制与八进制、十进制与十六进制之间的相互转换。