四章类和对象常用类.ppt
《四章类和对象常用类.ppt》由会员分享,可在线阅读,更多相关《四章类和对象常用类.ppt(67页珍藏版)》请在三一办公上搜索。
1、第四章 类和对象-2 常用类和接口,Company Logo,主要内容,学习目标 重点、难点,Company Logo,回顾,类的定义属性方法(访问控制权限4个,static、final)构造方法方法重载对象创建对象使用对象对象的生命周期,本章背景,本章将学习Java中有很多常用的类和接口,非常实用要求学生掌握String和StringBuffer类的区别和使用掌握Math类和数据包装类的使用掌握java.lang中其他常用的类掌握java.util中常用的类掌握Date,Calendar,Vector类的使用会查看API文档掌握常用类的使用,任务学习,Company Logo,任务描述任务一
2、:会使用java.lang中常用的类,任务学习,Company Logo,支撑知识介绍Java.lang包类Object,System类String,StringBuffer类Math,Class基本数据类型包装类,8,Java类库,Java的类库系统提供的已实现的标准类的集合是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。系统定义好的类根据实现的功能不同,可以划分成不同的集合,每个集合是一个包,合称为类库。API 应用程序编程接口面向过程语言 函数库(子程序包)面向对象语言 类库,9,Java类库结构,类库的
3、结构java.lang 语言基础类库(System、Math、Thread、基本数据类型类)java.util Java的工具类库(向量、栈、日期)java.io Java的标准输入输出类库java.applet 用于实现Java Applet小程序的类库java.awt 用于构建图形用户界面的类库java.awt.event 界面用户交互控制和事件响应类库 Java的用于实现网络功能的类库使用JDK API查看类库,10,语言基础类库Object类,Object类Java程序中所有类的直接或间接父类,也是类库中所有类的的父类构造方法Object()一般方法:Object clone()生成当
4、前对象的一个拷贝。boolean equals(Object obj)比较两个对象是否相等。Class getClass()获取当前对象所属的类信息。String toString()用来返回当前对象本身的有关信息。protected void finalize()当垃圾收集器确定对象上没有其他的引用时,调用对象上的垃圾收集器。Object类上的此方法不执行任何特定行为,仅简单返回,其子类会覆盖此方法。,11,关于toString()方法,public String toString()方法其返回值是String类型,描述当前对象的有关信息在进行String与其它类型数据的连接操作时(如:Sy
5、stem.out.println(“info”+Person),将自动调用该对象类的toString()方法可以根据需要在用户自定义类型中重写toString()方法,12,equals()方法,public boolean equals(Object obj)方法判断对象是否“相等”x.equals(y),当x和y是同一个对象的应用时返回true,否则返回false有些类,如String、Date等,重写了equals()方法,当使用x.equals(y)时表示x和y所引用的对象是同一类对象且属性内容相等(并不一定是相同对象)返回true,否则返回false可以根据需要在用户自已定义的类中重
6、写equals()方法,13,语言基础类库System类,System类系统功能类,提供了标准输入输出、运行时的系统信息等工具不能创建System类的对象所有的属性和方法都是静态(static)的,引用时应以System为前缀属性 获取系统标准输入/输出/错误输出System.in(对应于键盘输入或用户指定输入源)System.out(对应于显示屏或用户指定的输出源)System.err(对应于显示屏或用户指定的输出源)方法 获取系统信息、完成系统操作的方法public static long currentTimeMillis();/获取自1970年1月1日零时至当前系统时刻的微秒数publ
7、ic static void exit(int status);/强制Java虚拟机退出运行状态,System.exit(n);n非0描述非正常中断.public static void gc();/强制调用Java虚拟机的垃圾回收功能。,14,示例:System类,System.in输入char c=System.in.read();System.out.println(c);Scanner in=new Scanner(System.in);,15,JAVA中的字符串,Java把字符串(常量或变量)可以使用String类和StringBuffer类的对象来处理。由于使用频繁,有时也被视为基
8、本类型遇到双引号自动创建String类的对象提供字符串运算符,字符串的连接:+定长字符串:String类(效率较高)不能更改,可用于比较、搜索之类的操作可变字符串:StringBuffer类(使用灵活)可追加、插入、修改,但内存管理复杂,String类,在Java中,字符串被当作对象来处理。分为两大类:String字符串中每个字符是16位,2字节的unicode码创建之后不会再做修改和变动String类是final的,不可被继承 String类对象有个特殊的创建的方式,就是直接指定,比如String x=abc String对象可以通过“+”串联。StringBuffer对字符串做大量修改时使
9、用创建之后允许再做更改和变化,17,字符串类-String,StringJava语言将字符串作为对象来处理,每一个字符串常量是字符串类的一个实例。构造方法String()、String(String)、String(char chars)创建字符串,三种方式使用new关键字创建字符串 比如String s1=new String(abc);char a=X,M,J;String s=new String(a);char a=S,C,E,M,I,X,M,J;String s=new String(a,5,3);直接指定。由于字符串经常使用,可以直接使用字符串常量生成一个String类的对象 比如
10、String s2=abc;使用串联生成新的字符串 比如String s3=ab+c;Object 的方法 toString()实现其他对象向字符串的转换,18,字符串类-String,方法int length()/返回字符串长度 例:“Java与面向对象程序设计”.length()的值为13char charAt(int index)/返回指定位置的字符 例:Java与面向对象程序设计.charAt(2)int compareTo(String s2)/按字母序进行字符串比较 boolean equals(Object obj)/判断字符串相等(区分大小写)boolean equalsIgn
11、oreCase(String s2)/(不区分大小写)String toLowerCase()/将字符串所有大写字母转换为小写String toUpperCase()/将字符串所有小写字母转换为大写valueOf(Object obj)/将某个对象的实例转换成字符串,19,字符串类-String,String substring(int beginIndex)/取子串 String substring(int beginIndex,int endIndex)int indexOf(String str)/返回str在当前串中开始位置 int indexOf(String str,int fro
12、mIndex)int lastIndexOf(String str,int fromIndex)/.boolean startsWith(String prefix)/判断该字符串是 否以prefix为前缀。boolean endsWith(String suffix)/判断该字符串是 否以suffix为后缀。char toCharArray()/将字符串转为字符数组String concat(String str);/连接字符串replace(char oldChar,char newChar)/字符替换,20,字符串类StringBuffer,String类是不可变的字符串,如果需要修改S
13、tring对象所表示的内容,必须重新创建一个对象:String str=Peter;str=str+当修改操作频繁,或字符串的值很大时,会额外分配大量内存可变字符串-StringBuffer类用来表示内容可以扩充和修改字符串对象,StringBuffer类,StringBuffer类可变的字符串,有改变字符串内容和长度的若干方法,StringBuffer在多线程中使用是安全的StringBuffer对象的构造StringBuffer sb1=new StringBuffer();构造一个空的对象StringBuffer sb2=new StringBuffer(10);构造一个没有字符,容量为
14、length的对象StringBuffer sb3=new StringBuffer(“string”);构造一个内容与参数相同的对象注意,下面语句不能创建StringBuffer对象:StringBuffer ms=my Stringbuffer;,22,字符串类StringBuffer方法,String toString()将可变串变为不可变字符串int length()得到当前StringBuffer的长度(字符数)int capacity()得到当前StringBuffer的容量int indexOf(String str)获取str在字串中的位置StringBuffer append
15、(String str)将str添加到StringBuffer中StringBuffer delete(int start,int end)删除start和end间的字符StringBuffer insert(String str,int index)向StringBuffer插入字串StringBuffer replace(int start,int end,String str)用str代替start和end之间的字符void setCharAt(int index,char ch)设置位置index的字符为ch/这些方法一般都有重载,参数可以是单个字符(char),23,字符串的赋值和加
16、法,Java的字符串连接运算符+,例如:String str=Hello,;str=str+Tom!;编译器自动将该语句解释为:String str=new StringBuffer().append(Hello,).toString();str=str=new StringBuffer().append(Tom!).toString();,24,语言基础类库-Class类,Class类封装了对一个对象的描述。Class类的实例代表一个正在运行的Java应用程序的类或接口Class类没有公共的构造器,用户无法自己生成Class类的对象,由JVM自动构造Object是“万类之源”,Class是类
17、的运行时表示,可以把每个Class类的对象当做众多类的代理,25,语言基础类库-Class类,Java运行时系统会对所有的对象进行类型识别public final Class extends Object 一般方法:String getName()返回类名。Field getFields()返回类的域名。Method getMethods()返回类的public方法对象。Package getPackage()返回该类的包。,26,语言基础类库:Math类,Math类用来完成常用的数学运算数学常量:E,PI数学运算:(一般运算都以double进行)Math.abs(-8.09);Math.ex
18、p(5.7);Math.random();Math.sqrt(9.08);Math.pow(2,3);/乘方Math.round(99.6);均为static,使用时无需创建实例 Math.method(variable);,27,数学运算的Math类,属性public final static double E;/数学常量epublic final static double PI;/圆周率常量方法(均为静态方法 public static),28,数学运算的Math类,29,示例:Math类,public class MathMethodpublic static void main(St
19、ring args)System.out.println(Math.abs(-23.7)=+Math.abs(-23.7);System.out.println(Math.abs(-1059)=+Math.abs(-1059);System.out.println(Math.ceil(23.7)=+Math.ceil(23.7);System.out.println(Math.floor(23.7)=+Math.floor(23.7);System.out.println(Math.exp(2)=+Math.exp(2);System.out.println(Math.log(Math.E)=
20、+Math.log(Math.E);System.out.println(Math.pow(2,15)=+Math.pow(2,15);System.out.println(Math.sqrt(625)=+Math.sqrt(625);System.out.println(Math.max(6.25,10.35)=+Math.max(6.25,10.35);System.out.println(Math.mix(6.25,10.35)=+Math.min(6.25,10.35);,30,语言基础类库:数据类型包装类,基本数据类型不是类,定义变量没有创建对象的过程,提高了性能。基本数据类型 vs
21、.数据类型包装类boolean vs Boolean,char vs Character,int vs Integer等数据类型包装类规定了数据类型的最大值MAX_VALUE、最小值MIN_VALUE构造函数:如new Integer(10);完成不同数据类型间转换,注意不同的数据类使用的方法会有不同。Double.toString(0.08)、Integer.parseInt(“123”)、Double.ValueOf(“0.08”).intValue()等,详细见JDK Doc,31,自动包装和自动解包,包装把基本数据类型(如int)转换成基础类型封装类的对象(如new Integer()
22、Integer a=new Integer(3);/手工包装Integer a=3;/自动包装Java1.5之后解包把基础类型封装类的对象转换为基础数据类型 a.intValue/获取int形式的值 a=a+3;/自动解包,a.intValue()+3,32,Wrapper(包装)类,33,Integer类,整数类中包含了对整形数据(int)的各种常用操作属性 staticint MAX_VALUE 返回int型数据的最大值staticint MIN_VALUE 返回int型数据的最小值构造方法Integer a=new Integer();Integer(int value)Integer(
23、String s)方法int intValue()double doubleValue()long longValue()String toString()static String toString(int i)static int parseInt(String s)static int parseInt(String s,int radix)throws NumberFormatException static Integer valueOf(String s)valueOf(int i)valueOf(String s,int radix)static int parseInt(Str
24、ing s),34,Character类,在处理字符串时,用Character类中的一些方法进行字符分类常用方法Public static boolean isDigit(char ch)ch是否是数字字符Public static boolean isLetter(char ch)ch是否是字母Public static boolean isLetterofDigit(char ch)ch是否是数字或字母Public static boolean isSpace(char ch)ch是否是空格Public static boolean toLowerCase(char ch)返回ch的小写形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 四章类 对象 常用
链接地址:https://www.31ppt.com/p-5390234.html