ibm公司java培训ppt下载看看也好_第1页
ibm公司java培训ppt下载看看也好_第2页
ibm公司java培训ppt下载看看也好_第3页
ibm公司java培训ppt下载看看也好_第4页
ibm公司java培训ppt下载看看也好_第5页
已阅读5页,还剩302页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章Java语言概述华中科技大学IBM技术中心 2008HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心Java程序相关问题Java虚拟机HUST & IBM Computer Tech. Centerv Java虚拟机在真实机器中用软件模拟实现的一种抽象的机器。(Java虚拟机规范)

2、v Java虚拟机主要由五个部分组成:指令系统、寄存器、栈、存储区、碎片回收区v 解释和执行Java程序编译后产生的字节码华中科技大学IBM技术中心Java程序Java APIJava虚拟机操作系统硬件平台Java程序相关问题Java APIHUST & IBM Computer Tech. Centerv Java API是Java系统提供的预先定义好的软件组件的集合,它们提供了许多可供程序员调用的常用功能v 丰富的API为程序员提供了极大的方便,但也是学习的难 点v 要学会使用Java API手册(The Java 2 Platform API Specification ) http:/

3、/j2se/1.5/docs/api/index.html华中科技大学IBM技术中心Java程序Java APIJava虚拟机操作系统硬件平台Java程序相关问题 Java程序的运行机制HUST & IBM Computer Tech. Center编译连接运行操作系统传统语言的运行机制编译解释执行Java解释器Java语言的运行机制华中科技大学IBM技术中心字节码源代码可执行代码目标码源代码Java程序相关问题Java程序类型HUST & IBM Computer Tech. Centerv Java应用程序(Java Application) 是独立完整的程序 在命

4、令行调用独立的解释器软件即可运行 主类必须有main方法,这也是程序的入口v Java小程序 Java Applet是指在客户端运行的Java小程序, 一般来说客户端是指用户所使用的浏览器 Java Servlet是在服务器端执行的Java小程序, 为了能够支持Servlet的运行,服务器端必须安装包含Java虚拟机的服务器软件,这种能够支持服务端小程序的服务器一般被称为应用服务器华中科技大学IBM技术中心Java开发环境HUST & IBM Computer Tech. Centerv JDK/J2SDK(Java Developer Kit) JDK1.02 JDK1.1.x JDK1.2

5、/J2SDK1.3/J2SDK1.4/JDK5.0(J2SDK1.5)v Java集成开发环境(IDE) NetBeans JBuilder Eclipse JCreator Forte for Java Visual J+ WSAD 华中科技大学IBM技术中心JDK的安装与设置HUST & IBM Computer Tech. Centerv 从/可以下载相关版 本的JDK(本课程采用J2SDK1.3以上版本)v 在Windows平台上运行安装程序,以安装JDKv 设置PATH(文件路径)参数。由于JDK提供的实用程序都在安装目录下的子目录bin 下,为了

6、能在任何目录下直接使用文件名调用这些程序,必须设置操作系统的文件路径参数华中科技大学IBM技术中心环境设置HUST & IBM Computer Tech. Centerv 在Windows环境下,为了快速进入指定目录的命令行窗口,可在注册表中增加项目:HKEY_CLASSES_ROOTDirectoryshell进入命令行command默认值设为:cmd/kcd%1华中科技大学IBM技术中心JDK的目录结构HUST & IBM Computer Tech. Center bin目录中包含了所有JDK5.0提供的实用程序 demo目录中包含了JDK5.0自带的实例程序 inculde目录中包含

7、了一些支持Java native方法的CC+头文件 jre目录中包含了Java运行环境所需的所有文件,这个目录中所包含的java运行环境是JDK私有的, 它只为JDK的实用程序提供支持 lib目录中包含了Java开发环境所需的库文件,它们以jar文件的形式保存 sample目录中包含的是体现JDK5.0新特性的一些例程华中科技大学IBM技术中心JDK实用程序简介HUST & IBM Computer Tech. Centerv javac:Java编译器,将Java源代码编译为字节码;v java:Java解释器,用来解释执行Java程序的字节码文件;v appletviewer(小程序浏览器

8、):一种执行HTML文件上的Java小程序类的Java浏览器;v javadoc:根据Java源代码及其说明语句生成的HTML文 档;v jdb:Java调试器,可以逐行地执行程序、设置断点和检 查变量;v javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件;v javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。华中科技大学IBM技术中心Java程序的开发过程HUST & IBM Computer Tech. Centerv 编辑源代码v 编译源代码文件v 运行程序华中科技大学IBM技术中心Java程序的开发过程编辑源

9、代码HUST & IBM Computer Tech. Centerv 一般情况下,我们可以使用系统平台下的任何文本编辑器 进行源代码的编辑,在Windows平台下常用的是Window系统自带的“记事本”程序或“写字板”程序v Java源码大小写敏感v Java源码文件的扩展名:.javav Java源程序文件也不能随意命名,其文件名必须与程序 中主类的类名完全相同,包括大小写在内华中科技大学IBM技术中心public class MyFirstJavaApp public static void main(String args) System.out.println(“This is My

10、 First Java Application!”);Java程序的开发过程编译源代码HUST & IBM Computer Tech. Centerv 使用JDK实用程序javac对源代码文件进行编译C:MyJavajavac MyFirstJavaApp.java如果系统提示符再次出现并且没有任何消息产生,那 么编译便成功了如果有系统报错消息产生,则表示程序编译出错,程序员必须阅读报错信息,并根据这些信息对程序进行 修改v 程序成功编译后,在与源代码文件同一目录下会生成一个新的文件,其文件名与源代码文件名相 同,扩展名为“.class”。这个文件就是源代码文件编译产生的程序字节码文件 My

11、FirstJava.class华中科技大学IBM技术中心Java程序的开发过程运行程序HUST & IBM Computer Tech. Centerv 要执行一个Java程序非常简单,只需在字节码文件所在目录下输入下列命令就可以了: java 字节码文件名华中科技大学IBM技术中心第2章 面向对象的编程概念华中科技大学IBM技术中心 2006HUST & IBM Computer Tech. Center华中科技大学IBM技术中心面向对象vs. 面向过程HUST & IBM Computer Tech. Centerv 面向对象(OOP)Object-Oriented Programming

12、 用类class封装数据以及与数据相关的操作 用类的继承性来实现类的重用性 多态性 面向“对象”,由对象提供服务v 面向过程(POP)Procedure-Oriented Programming 以功能为组织单元 通过数据结构来描述具体的问题 数据在功能(函数)之间以参数的形式被传送华中科技大学IBM技术中心现实世界中的对象HUST & IBM Computer Tech. Centerv 现实世界是由对象构成的v 现实世界中任何实体都可以看作是对象v 现实世界中的对象有两个共同特征:状态行为华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学

13、IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心消息的性质HUST & IBM Computer Tech. Centerv 同一对象可接收不同形式的多个消息,产生不同的响应v 同一个消息可以发给不同的对象,所做出的响应可以截然不同v 发送方不需要知道接受方如何对请求予以响

14、应的华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心实例(Instance)HUST & IBM Computer Tech. Centerv 定义:特定类所描述的一个具体对象华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心单重继承与多重继承HUST & IBM Computer Tech. Centerv 单重继承:一个子类只有一个唯一确定的父类 单重继承所构成的类的关

15、系结构是一棵树v 多重继承:一个子类可以有多个不同的父类 多重继承所构成的类的关系结构是一个格v Java语言仅支持单重继承华中科技大学IBM技术中心继承的作用HUST & IBM Computer Tech. Centerv 使软件系统具有开放性v 更好地进行抽象与分类v 实现代码的复用v 提高可维护性华中科技大学IBM技术中心类型(Type)HUST & IBM Computer Tech. Centerv 在面向数值的编程中,类型通常用作数据的表示。在Java这样的强类型语言中,在编译期,每一个变量和表达式都有一个类型与之相对应v Java中的类型:基本类型、类、接口华中科技大学IBM技

16、术中心接口(Interface)HUST & IBM Computer Tech. Centerv 接口和类一样也是一种类型,也同样包含一些方 法的定义。但与类不同的是:接口中所定义的所 有方法都是抽象方法(即没有实现的方法)。v 接口中所定义的方法由实现(implement)该接口的类来实现,一个类可以同时实现多个接口v 接口机制使Java的面向对象编程变得更加灵活。 解决了单重继承带来的问题v 接口定义了对象的行为模型,相当于一个协议。 实现接口的各个类负责实现接口所定义的行为。虽然实现细节各不相同,但对用户来说是一样的 行为。华中科技大学IBM技术中心面向对象的示例HUST & IBM

17、Computer Tech. Centervv 代码:ClickMeApp.java , ClickMe.java,Spot.java华中科技大学IBM技术中心Spot类HUST & IBM Computer Tech. Center华中科技大学IBM技术中心public class Spot /instance variables private int size; public int x, y;/constructor public Spot() x = -1;y = -1;size = 1;/methods for access to the size instance variabl

18、e public void setSize(int newSize) if (newSize = 0) size = newSize;public int getSize() return size;Spot对象HUST & IBM Computer Tech. Center华中科技大学IBM技术中心private Spot spot = null;.spot = new Spot();示例中的消息HUST & IBM Computer Tech. Center华中科技大学IBM技术中心g2d.setColor(Color.WHITE);g2d.fillRect(0, 0, getWidth(

19、) - 1, getHeight() - 1);示例中的继承和接口HUST & IBM Computer Tech. Centerpublic class ClickMe extends JComponent implements MouseListener ./Methods required by the MouseListener interface. public void mousePressed(MouseEvent event) if (spot = null) spot = new Spot();spot.setSize(RADIUS);spot.x = event.getX(

20、); spot.y = event.getY(); repaint();public void mouseClicked(MouseEvent event) public void mouseReleased(MouseEvent event) public void mouseEntered(MouseEvent event) public void mouseExited(MouseEvent event) 华中科技大学IBM技术中心public class ClickMe extends JComponent implements MouseListener .欢迎提问第三章Java语言

21、基础华中科技大学IBM技术中心变量(Variable)HUST & IBM Computer Tech. Centerv 对象将它的状态存储在变量中v 定义:变量是一个由标识符命名的数据项v 变量名必须是一个合法的标识符 -一个以字母开头的无限制的Unicode字符序列。v 变量的声明: 类型 名称 = 初始值; int i; double pi = 3.1415926; String name;华中科技大学IBM技术中心数据类型HUST & IBM Computer Tech. Centerv 每个变量都必须有一个数据类型. 一个变量的数据类型决定了它能容纳的值和在它上面可以进行什么操作。v

22、 Java编程语言有两大类数据类型: 原始类型(primitive) 引用类(reference)华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心原始类型HUST & IBM Computer Tech. Centerv 原始类型变量包含单个值,其大小和格式与它的类型匹配:数字、字符或布尔值。v Java语言没有unsigned类型 0xFFFF和0xFF谁大?v Java语言必须强制类型转换 float f = 0.1; boolean b = 1;华中科技大学IBM技术中心引用类型HUST & IBM Computer T

23、ech. Centerv 数组,类和接口就是引用数据类型.与原始类型变 量的值不同的是,引用类型变量的值是对应变量代表的一个值或一组值的引用(也就是其地址)v 在其他语言里引用被称为指针或者内存地址。Java不支持显示地使用地址,而是使用变量的名 称代替。华中科技大学IBM技术中心变量的引用HUST & IBM Computer Tech. Centerv 通过变量名引用变量的值v 简单名称:由单个标识符组成的名称v 限定名称:通过类名或对象名引用改类或对象中的成员变量 System.out.println(i+spot.x);华中科技大学IBM技术中心作用范围HUST & IBM Compu

24、ter Tech. Centerv 变量的作用范围是可以通过简单名称引用该变量的程序区域v 作用范围也决定了系统为该变量创建和释放内存的时间华中科技大学IBM技术中心例子HUST & IBM Computer Tech. Center华中科技大学IBM技术中心int i = 10; if ( i 0) int i = 20;System.out.println(“The value ofi = ” + i);System.out.println(“The value ofi = ” + i);最终变量HUST & IBM Computer Tech. Centerv 你可以在任意范围里将一个变

25、量定义为最终变量(final)v 最终变量的值一经初始化就不能改变v 类似于C语言中的常量(const)华中科技大学IBM技术中心final int blankfinal;. . .blankfinal = 0;final int aFinalVar = 0;操作符、表达式、语句和块HUST & IBM Computer Tech. Center自学!华中科技大学IBM技术中心第四章对象基础和简单数据对象华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心对象的生命周期HUST & IBM Computer Tech. Cente

26、r华中科技大学IBM技术中心CreateObjectDeomHUST & IBM Computer Tech. Centerpublic class CreateObjectDemo public static void main(String args) /创建一个Point对象和两个Rectangle对象Point origin_one = new Point(23, 94);Rectangle rect_one = new Rectangle(origin_one, 100, 200); Rectangle rect_two = new Rectangle(50, 100);/ 显示re

27、ct_one的宽、高以及面积System.out.println(Width of rect_one: + rect_one.width); System.out.println(Height of rect_one: + rect_one.height); System.out.println(Area of rect_one: + rect_one.area();rect_two.origin = origin_one;/ 显示rect_two的位置/设置rect_two的位置System.out.println(X Position of rect_two: + rect_two.ori

28、gin.x); System.out.println(Y Position of rect_two: + rect_two.origin.y);/ 移动rect_two并且显示它的新位置rect_two.move(40, 72);System.out.println(X Position of rect_two: + rect_two.origin.x); System.out.println(Y Position of rect_two: + rect_two.origin.y);华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术

29、中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心对象创建的实例HUST & IBM Computer Tech. Center华中科技大学IBM技术中心Point origin_one = new Point(23, 94);public class Point public int x = 0; public int y = 0;public Point(int x,

30、int y) this.x = x;this.y = y;HUST & IBM Computer Tech. Center华中科技大学IBM技术中心构造器的重载(Overload)HUST & IBM Computer Tech. Centerv 一个类可以包含多个构造器,这种情况成为构造器的重载v 同一个类中的多个构造器通过参数的数目及类型的不同来区分public class Rectangle public int width = 0; public int height = 0; public Point origin; public Rectangle() origin = new P

31、oint(0, 0);public Rectangle(Point p) origin = p;public Rectangle(int w, int h) this(new Point(0, 0), w, h);public Rectangle(Point p, int w, int h) origin = p;width = w; height = h;.华中科技大学IBM技术中心HUST & IBM Computer Tech. Center华中科技大学IBM技术中心实例成员与类成员HUST & IBM Computer Tech. Centerv 实例成员包括实例变量与实例方法实例成员

32、依赖于实例存在同一个类的不同实例都拥有一份实例变量的拷贝,对 某个实例的实例变量的操作不影响到其它实例实例变量遵循对象的生命周期,随着对象的创建而创 建,随着对象的消亡而消亡必须通过实例的引用来调用实例方法v 类成员包括类变量与类方法类成员不依赖于实例存在同一个类的不同实例共享同一个类变量,对类变量的 改变会影响到所有实例类变量的生存期不依赖于对象,其它类可以不用通过 创建该类的实例,直接通过类名访问它们。同样,类 方法也可以直接通过类名访问。华中科技大学IBM技术中心实例成员与类成员HUST & IBM Computer Tech. Center华中科技大学IBM技术中心class ABCD

33、 char data;static int share_data;class Demo ABCDa,b,c,d; /实例化实例变量的引用HUST & IBM Computer Tech. Centerv 简单名称当实例变量处在作用域内(即对象的类的代码内) 的时候v 限定名称objectReference.variableName当实例变量处在作用域外时使用限定名称华中科技大学IBM技术中心System.out.println(Width of rect_one: + rect_one.width); System.out.println(Height of rect_one: + rect_

34、one.height); int height=new Rectangle().height;关于变量访问的说明HUST & IBM Computer Tech. Centerv 建议不要通过其它对象或类直接操作对象的变量,可能引起无效值v 理想情况下,类会提供一些方法,其他对象可以通过 他们检查或修改变量,确保值有效,而且如果变量的类型和名称发生了变化,不会影响它的使用者v 在某些情况下,可以允许对对象变量的直接访问, 以使类更小更简单,也可使变量适用于更广泛范 围;v JAVA编程语言提供了一个访问控制机制,通过这 种机制,类可以决定那些其它的类可以直接访问它的变量(第五章中介绍)。华中科

35、技大学IBM技术中心调用对象的方法HUST & IBM Computer Tech. Centerv 使用限定名称来调用对象的方法objectReference.methodName(argumentList);或者objectReference.methodName();华中科技大学IBM技术中心System.out.println(Area of rect_one: + rect_one.area(); rect_two.move(40, 72);int areaOfRectangle = new Rectangle(100, 50).area();关于方法调用HUST & IBM Com

36、puter Tech. Centerv 方法被声明为public,就可以被任何其它的类所访问。有时,类需要限制对它的方法的访问v 类可以使用与控制变量访问相同的机制来对它的方法进行访问控制(第五章中介绍)华中科技大学IBM技术中心对象的清除HUST & IBM Computer Tech. Centerv JAVA运行时环境在当对象不再被使用的时候清除它们,这个过程就是所谓的“垃圾收集”(garbage collection)v Java的垃圾收集器自动扫描对象的动态内存区,对被引用的对象加标记,然后把没有引用的对象作为垃圾收集起来并释放。v 垃圾收集器作为一个线程运行。当系统的内存用尽或程序

37、中调用System.gc()要求进行垃圾收集时,垃圾收集线程与系统同步运行。否则垃圾收集器在系统空闲时异步地执行。华中科技大学IBM技术中心无用对象的判定HUST & IBM Computer Tech. Centerv 当某个对象不在被任何引用变量引用时,该对象 是无用对象,将被清除。一般有如下两种情况:华中科技大学IBM技术中心引用变量引用了其它对象或引用了空对象StringBuffer s = new StringBuffer(“test1”);s = new StringBuffer(“test2”); / 引用了新的对象s = null; / 引用为空引用变量超出了作用域String

38、Buffer s = newStringBuffer(“thisisatest”);/ 超出对象作用域finalize()方法HUST & IBM Computer Tech. Centerv 在对对象进行垃圾收集前,Java运行时系统会自动调用对象的finalize()方法来释放系统资源。v 某些情况下,程序员可能需要实现该方法来释放不由垃圾收集器所控制的资源。但这种情况非常少见v finalize()方法是在Object中有缺省实现, 在用户自定义的类中,它可以被覆盖,但一般在最后要调用父类的finalize()方法来清除对象所使用的所有资源华中科技大学IBM技术中心问题一HUST & I

39、BM Computer Tech. Centerv 下列程序的运行结果?华中科技大学IBM技术中心public class SomethingIsWrong public static void main(String args) Rectangle myRect;myRect.width = 40;myRect.height = 50;System.out.println(myRects area is + myRect.area();问题二HUST & IBM Computer Tech. Centerv 现有一个Point和Rectangle对象,代码执行后有多少引用指向它们?有没有对象

40、需要垃圾收集?华中科技大学IBM技术中心Point point = new Point(2,4);Rectangle rectangle = new Rectangle(point, 20, 20); point = null;字符和字符串HUST & IBM Computer Tech. Centerv Java API提供了三个处理字符数据的类:Character:这个类的实例可以容纳单一的字符数值。该类还定义了一些简洁的方法来操作或者检查单一字符数据。String:这个类用于处理由多个字符组成的不 可 变 数 据 。 StringBuffer:这个类用于存储和操作由多个字符组成的可变数据

41、。华中科技大学IBM技术中心字符类(Character)HUST & IBM Computer Tech. Centerv 字符类的对象包含单个字符值v 当需要使用对象时,可以用字符对象替代原始的char类型的变量华中科技大学IBM技术中心字符类构造器和方法HUST & IBM Computer Tech. Centerv Character(char)Character类唯一的构造器,它创建一个字符对象,其中包含由参数提供的值,一旦创建了Character对象,它包含的值就不能改变。v compareTo(Character)这个实例方法比较两个字符对象包含的值,这个方法返回一个整数值,表示

42、当前对象中的值是大于、等于还是小于参数所包含的值华中科技大学IBM技术中心字符类构造器和方法HUST & IBM Computer Tech. Centerv equals(Object)这个实例方法比较当前对象包含的值与参数对象包含的值,如果两个对象包含的值相等,那么这个方法返回truev toString()这个实例方法将此对象转换为字符串v charValue()这个实例方法以原始char值的形式返回此字符对象包含的值v isUpperCase()这个实例方法判断一个原始char值是否是大写字母华中科技大学IBM技术中心);字符类例程HUST & IBM Computer Tech. C

43、enter华中科技大学IBM技术中心public class CharacterDemo public static void main(String args) Character a = new Character(a); Character a2 = new Character(a);Character b = new Character(b);int difference = pareTo(b); if (difference = 0) System.out.println(a is equal to b.); else if (difference 0) System.ou

44、t.println(a is greater than b.程序的输出: a is less than b. a is equal to a2.The character a is lowercase.System.out.println(a is + (a.equals(a2) ? equal : not equal)+ to a2.); System.out.println(The character + a.toString() + is + (Character.isUpperCase(a.charValue() ? upper : lower)+ case.);字符类类方法HUST

45、& IBM Computer Tech. Center华中科技大学IBM技术中心问题HUST & IBM Computer Tech. Center 下列boolean表达式的值是true还是false?(1)pareTo(b)=0(2)a.equals(b)(3)a=b华中科技大学IBM技术中心Character a = new Character(a); Character b = new Character(a);字符串和字符串缓冲区HUST & IBM Computer Tech. Centerv Java平台提供两个类String和StringBuffer,它们用于存储和操

46、作字符串由多个字符组成的字符数据。v String类用于其值不能改变的字符串;v StringBuffer类用于被修改的字符串,通常用来动态的构造字符数据。v 字符串是常量,比字符串缓冲区更高效, 而且字符串可以被共享。华中科技大学IBM技术中心字符串(String)HUST & IBM Computer Tech. Centerv 使用字符串常量时,需要创建String对象,和其 它对象不同,String对象可以通过简单赋值语句创建: String name = “Petter”;v 此外,也可根据String类的构造函数创建String对象: String name = new Strin

47、g(“Petter”);v 对于程序任何位置出现的双引号标记的字符串, 系统都会自动创建一个String对象。v 可通过String对象的方法对字符串进行操作华中科技大学IBM技术中心字符串构造器HUST & IBM Computer Tech. Center华中科技大学IBM技术中心字符串的不可变性?HUST & IBM Computer Tech. Centerv String类用于其值不能改变的字符串v 观察下列程序:v 程序运行结果是abc还是abcdefg?华中科技大学IBM技术中心public class StringTestpublic static void main(Stri

48、ng args) String s=abc;s=s+“defg; System.out.println(s);HUST & IBM Computer Tech. Center华中科技大学IBM技术中心字符串缓冲区(StringBuffer)HUST & IBM Computer Tech. Centerv String对象表示的是不可更改的字符串对象,如果需要修改String对象所表示的内容,必须重新创建一个对象: String str = “Petter”; str = str + “ & Bob” + “ & Tom”;v 当修改操作频繁,或字符串的值很大时, 会额外分配大量内存v 因此,

49、Java语言引入了一个StringBuffer 类,用来表示内容可以扩充和修改字符串对象华中科技大学IBM技术中心StringBuffer构造器HUST & IBM Computer Tech. Centerv 必须使用new操作符创建字符串缓冲区华中科技大学IBM技术中心String s = Dot saw I was Tod; StringBuffer dest = new StringBuffer(s);访问器方法HUST & IBM Computer Tech. Centerv 用于获取关于对象的信息的方法被称为访问器方法。v 字符串和字符串缓冲区都可以使用的一个串缓冲区中包含的字符数

50、。华中科技大学IBM技术中心String palindrome = Dot saw I was Tod; int len = palindrome.length();容量HUST & IBM Computer Tech. Centerv 在StringBuffer类中还有一个capacity()方法,它返回分配给这个字符串缓冲区的容量,而不是使用量。使用量会改变,但是容量始终是不变的。华中科技大学IBM技术中心通过索引得到字符HUST & IBM Computer Tech. Centerv charAt()访问器方法,通过索引从字符串或者字符串缓冲区得到字符,索引值从零开始。华中科技大学IB

51、M技术中心String anotherPalindrome = Niagara. O roar again!;char aChar = anotherPalindrome.charAt(9);substring方法HUST & IBM Computer Tech. Centerv 如果要从字符串或者字符串缓冲区得到多个字符,可以使用substring方法。v String substring(int)v String substring(int,int)华中科技大学IBM技术中心String anotherPalindrome = Niagara. O roar again!;String roar = anotherPalindrome.substring(11, 15);searchHUST & IBM Computer Tech. Centerv string类提供两个访问器方法,返回特定的字符或者子字符串在字符串中的位置。v indexOf()方法从字符串的开头查找;v lastindexOf()方法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论