




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象程序设计与系统开发第一章 面向对象开发基本概念2驱动任务一 用Java语言描述一个长方形类,其有长和宽两种属性,并且能够计算每一个长方形的面积和周长3目标及知识点能够使用Java语言定义类2理解类的概念114什么是类 方法: 是用来描述对象动态特征的一组操作 属性: 是用来描述对象静态特 征的一组数据 类就是对事物的抽象和归纳,是相同标准事物的集合与抽象5如何创建类 人类性别名字能说话能思考眼睛鼻子手能吃饭能吃饭抽象出类 属性方法6类图7【思考】请画出苹果类的类图、猫的类图。8用Java语法构建出类 Java中类定义语句的形式为:class 类名 / 类头的定义/* 类体的定义*/成员
2、变量声明; 成员方法定义; 其中,class是Java语言中定义类时必须使用的关键字。 “类名”是为这个类取的名,应书写为Java语言合法的标识符。大括号中是定义类体的地方,指明该类中包含的数据成员和成员方法 9【例1-1】定义一个名为Round的圆形类,其有半径属性,有求周长的方法。 class Round double radius; / 半径 double perimeter() / 求圆形的周长return 2*3.14*radius; 步骤:1、定义类 2、定义半径属性 3、定义求周长的方法10任务实现123从功能需求中分析并抽象出类,做出类图按照类图将对应的类的结构构建出来 实现出
3、类中的方法 定义一个长方形类,其有长和宽两种属性,并且能够计算每一个长方形的面积和周长11驱动任务二 利用任务设计的矩形类,创建出一个长和宽分别为10和5的具体的长方形,并打印 12目标及知识点对象和类的关系2用Java语言创建对象3使用对象的成员变量和方法4理解对象的概念1113什么是对象 在面向对象软件设计中,对象就是用来描述客观事物的一个实体,它将现实中的事物变成了软件世界中的具体东西,它们的创造者就是你程序员,你的软件世界中有了这些东西,你就可以让这些东西来完成你作为造物主所交予它们的任务。你所创造的软件世界中,对象就是构成你的世界的一个基本单位,其由一组属性和对这组属性进行操作的一组
4、方法所组成 。14类和对象的关系类是具有相同属性和行为的一组对象的总称,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分 姚明女人男人人邓丽君宋祖英郭晶晶刘德华谢霆锋关羽 类对象15对象创建对象创建的形式为:类名 对象名; 对象名 = new 类名(参数列表); 或者 类名 对象名 = new 类名(参数列表); 其中,“类名”指出了这个对象属于哪个类,“对象名”是给这个对象取一个区别于其他对象的变量名。类名后面的圆括号指定了类的构造方法(将在下一章详细学习)。这里new运算符是Java关键字,专门用于调用构造方法来产生一个实体对象 例:创建一个Rectangle对
5、象Rectangle rect = new Rectangle (); 16对象创建访问对象成员的一般形式为: 对象名.成员变量名 对象名.成员方法名(参数列表) 其中,“类名”指出了这个对象属于哪个类,“对象名”是给这个对象取一个区别于其他对象的变量名。类名后面的圆括号指定了类的构造方法(将在下一章详细学习)。这里new运算符是Java关键字,专门用于调用构造方法来产生一个实体对象 例:访问对象rect的数据成员width并赋值10 rect.width = 10; 17public static void main (String args) Round r = new Round();
6、/ 声明并实例化圆形对象r r.radius = 10; / 访问成员变量并赋值 double p = r. perimeter(); / 调用成员方法求周长 System.out.println(半径+r.radius+的圆的周长是: + p);例:利用例1-1定义的圆形类Round,计算半径为10的 一个具体圆的周长 18长 public static void main(String args) Round r1=new Round (); / 声明并实例化Round对象r1 Round r2=new Round (); / 声明并实例化Round对象r2 / 给每个对象的半径属性赋值
7、r1.radius = 10; r2.radius = 20; / 调用r1中perimeter()方法得到r1的周长并打印输出 System.out.println(半径+r1.radius+的圆的周长是: + r1.perimeter(); / 调用r2中perimeter()方法得到第二个长方形的面积并打印输出 System.out.println(半径+r2.radius+的圆的周长是: + r2.perimeter();例:利用例1-1中定义的圆形类Round,生成半径为20、10的两个对象,并计算每个对象的周长19任务实现123类的概念创建类的对象访问对象,给对象属性赋值20课堂总
8、结 类和对象的概念类和对象的关系对象成员的访问面向对象程序设计与系统开发第2章 面向对象开发特点 22驱动任务一 将上一章中的矩形类进行改造,为了对象中数据的安全性,其长、宽两个属性在本类创建的对象外不可访问;同时要求当矩形对象产生的时候就已经有具体的长度和宽度,而不是在生成对象后再给长宽赋值。其保留了计算本身周长和面积的功能 23目标及知识点类中setter和getter方法 2构造方法 this、static关键字 3类及其成员的访问控制修饰符 4类的封装 1124类的封装性 封装(Encapsulation)就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。 25
9、Java中的包 Java包(package)就是具有一定相关性的Java文件的集合创建包26在包中创建类 package 包名1.包名2.包名3. ;27使用包使用import语句:import 包名1.类名或接口名; import 包名1.包名2.*; 直接使用包:java.util.ArrayList list = new java.util.ArrayList(); 28 类的访问权限 一个类仅有两个可能的访问权限:默认的和公有(public)的。当一个类被声明为public时,该类可被任何包的代码访问;如果一个类为默认的访问权限,那么仅能由同一包内的其他代码所访问。29类成员的访问权限
10、 Java类的成员变量和成员方法的访问权限修饰符无类修饰符类成员修饰符privatedefaultprotectedpublic同一类同一个包不同包的子类不同包非子类30举例说明/ 源文件Rectangle.javapackage com.bean; /本类属于com包的bean子包下public class Rectangle / 该类的权限为public / 私有的成员变量 private double length; private double width; / 求长方形的面积,注意该方法权限 double area() return length * width; /*打印输出,公共
11、的成员方法*/ public void display() / 调用当前对象的成员变量System.out.println(长: + length + t宽: + width); / 调用当前对象的成员方法System.out.println(长方形的面积是: + area(); 31举例说明/ 源文件RectangleDemo.javapackage com.demo; / 该类属于com.demo包下import com.bean.*; / 导入com.bean包中所有的类public class RectangleDemopublic static void main (String a
12、rgs)/ 调用带参构造方法创建一个长方形对象rectRectangle rect = new Rectangle();/ rect.width = 2; /private不允许类外部调用/ rect.length = 4; / private不允许类外部调用/ System.out.println(长方形的面积是: + rect.area(); / 默认权限不同包的类不能调用 rect.display(); / 调用对象rect的成员方法32getter、setter方法 若需要在其他类中访问私有成员,可以通过非私有的setter和getter方法来访问。这样的方法常命名为setXxx()和
13、getXxx(),分别实现对封装数据的设置和读取操作 public void setWidth(double w) / 设置长方形的宽 width = w; public double getWidth() / 获取长方形的宽 return width; public void setLength(double l) / 设置长方形的长 length = l; public double getLength() / 获取长方形的长 return length; 33类的构造方法 构造方法的一般形式如下 :修饰符 方法名(形式参数列表) / 方法体1、构造方法名与类名相同。2、构造方法不返回任何
14、值,也没有返回类型。3、每一个类可以有零个或多个构造方法,如果没有写构造方法默认存在一个没有参数的构造方法。4、构造方法在创建一个类的对象时由系统自动地调用执行,一般不能显式地直接调用。34class Rectangle double length; / 长 double width; / 宽 / 带参构造方法,用于初始化长方形的长和宽public Rectangle(double w, double l) width = w; length = l; / 求长方形的面积 double area() return length * width; 【例2-2】继续改造长方体类,使对象创建时能自动
15、初始化 长方形的尺寸。35public class RectangleDemopublic static void main (String args)/ 调用构造方法初始化每个长方形对象Rectangle rect1 = new Rectangle(10,20); Rectangle rect2 = new Rectangle(3,6);double area; area = rect1.area(); / 调用area()方法得到第一个长方形的面积 System.out.println(第一个长方形的面积是: + area);area = rect2.area(); / 调用area()方
16、法得到第二个长方形的面积 System.out.println(第二个长方形的面积是: + area);36 this关键字 在程序中,可以在任何方法内使用this来引用当前的对象,this就指向了本身这个对象 / 带参构造方法,用于初始化长方形的长和宽 Rectangle(double w, double l) this.width = w; this.length = l; / 带参构造方法,用于初始化长方形的长和宽 Rectangle(double width, double length) this.width = width; / 使用this来访问同名实例变量 this.lengt
17、h = length; 37this的使用场合 访问当前对象的数据成员。访问当前对象的成员方法 38。class Rectangle double length; / 长 double width; / 宽 / 带参构造方法,用于初始化长方形的长和宽 Rectangle(double width, double length) this.width = width; / this关键字表示当前对象 this.length = length; / 求长方形的面积 double area() return this.length * this.width; / 打印输出 void display(
18、) / 调用当前对象的成员变量System.out.println(长: + this.length + t宽: + this.width); / 调用当前对象的成员方法System.out.println(长方形的面积是: + this.area(); 【例2-3】在例2-2的基础上修改Rectangle类的构造方法,使其形式参数与成员变量名称相同39static静态成员-静态类成员 被声明为static的成员变量是静态变量,也称为类变量。静态变量本质上是全局变量。当声明该类的对象时,不生成static变量的副本,类的所有实例共享同一个static变量 被声明为static的成员方法是静态方
19、法,也称为类方法。静态方法有几条限制:(1)它们仅可以调用其他static方法。(2)它们只能访问static数据成员。(3)它们不能以任何方式引用this或super40static静态成员-静态代码块static / 程序块 静态代码块不是类的方法,没有方法名、返回值和参数表。静态代码块也与类方法一样,不能使用实例变量及方法,也不能使用this或super关键字。 static块(即静态代码块),这个块仅在该类被第一次加载时执行一次。静态代码块的语法格式:41public class UseStatic static int a = 3; / 静态变量(类变量),并初始化 static i
20、nt b; / 静态变量 int c = 10; / 实例变量 static void display(int x) / 静态方法(类方法) System.out.println(x = + x); System.out.println(a = + a); System.out.println(b = + b); /System.out.println(c = + c);/静态方法不能直接调用非静态成员 static / 静态代码块 System.out.println(静态代码块执行开始); b = a * 4; / 初始化静态变量b public static void main(Stri
21、ng args) display(42); / 直接调用静态方法 【例2-4】下面示例显示的类有方法、几个static变量和一个static初始块:42任务实现123分析抽象出类按照类图编制出类框架实现出类中的方法 45定义主类创建类的对象43驱动任务二 设计一个人类,其有姓名、年龄和身份(默认值为“工人”)三个属性,一个带参构造方法,会说话、会工作等行为。然后设计学生类和教师类,这两个类属性和方法和人类完全一致,只是学生类多了学号这个属性,学生的身份为“学生”;教师类还包含有教师号这个属性,教师的身份为“教师”。并生成若干个学生对象和教师对象,分别输出各对象的信息。44目标及知识点成员变量的
22、隐藏 2成员方法的重写 3super关键字 4类的继承1145类的继承性 继承(Inheritance)是一种联结类与类的层次模型。继承性是指子类拥有父类的属性和行为。继承意味着“自动地拥有”,即子类中不必重新定义已在父类中定义过的属性和行为,而它却自动地、隐含地拥有其父类的属性与行为。 46类继承的实现 Java中的继承是通过extends关键字来实现的,在定义新类时使用extends关键字指明新类的父类,就在两个类之间建立了继承关系。47类继承的实现-子类声明修饰符 class 子类名 extends 父类名 / 类头的定义成员变量声明; / 类体的定义成员方法定义; 一般地,在类声明中,
23、加入extends子句来创建一个类的子类。extends后即为父类名,若父类名又是某个类的子类,则新定义的类也是其父 48类继承的实现-类继承的传递性 类继承具有传递性,即子类继承父类的所有非私有成员,也继承父类的父类直至祖先所有的非私有成员。继承是传递的,这正体现了大自然中特殊与一般的关系。【例2-5】设计一个长方体类Cube,它继承自例矩形类Rectangle,它除了有矩形类的长、宽属性和计算面积的方法外还有表示长方体高的成员变量height、以及计算长方体体积的方法volume()。 / 矩形类class Rectangle double length; / 长double width;
24、 / 宽double area() / 求长方形的面积return length * width;void setDim(double w, double l) / 设置长方形的长和宽width = w;length = l; / 长方体类,继承于Rectangle类class Cube extends Rectangle double height; / 高public Cube(double width, double length, double height) / 构造方法this.width = width;this.length = length;this.height = hei
25、ght;double volume() / 求长方体的体积return area() * height; /主类(拥有main方法的类)public class Test public static void main(String args) Cube c = new Cube(1, 2, 3); System.out.println(长: + c.length + t宽: + c.width + t高: + c.height);System.out.println(长方体的体积: + c.volume(); 成员的覆盖 如果有一个名为B的子类和一个名为A的父类,它们出现了相同的成员时,在子
26、类B中直接访问同名成员会得到什么结果? / 父类Aclass A int x = 100;public void display() System.out.println(执行父类A的display()方法);System.out.println(SuperClass A: + x);/ 子类B,继承于父类Aclass B extends A int x = 200; / 在子类B中父类A的同名变量x被隐藏public void display() / 方法的重写System.out.println(执行子类B的display()方法);System.out.println(SubClass
27、B: + x); / 直接输出为子类变量xpublic static void main(String args) B b = new B();b.display();执行结果是?执行子类B的display()方法SubClass B: 20051任务实现123分析抽象出类按照类图编制出类框架实现类中的方法45定义主类创建类的对象 访问对象52驱动任务三设计一个人类,有姓名、年龄两个属性,一个无参构造方法(用于将属性初始化为其默认值),一个带参构造方法,会说话、会工作等行为。然后设计学生类和教师类,它们都是派生自人类的子类,其中学生类还包含有学号属性,有自己的说话和工作方式;教师类还包含有教师
28、号属性,也有自己的说话和工作方式。建立若干个学生对象和教师对象,分别输出各对象的信息。53目标及知识点方法的重载与重写 2类的多态特性 1154重载 在Java中,同一个类中如果同时存在两个以上的方法有同一个名字,在这种情况下,我们说方法被重载了,这个过程被称为方法重载。55【例2-10】使用类的重载构造方法生成不同的长方形对象,计算各长方形的面积。class Rectangle double length; / 长 double width; / 宽 / 定义三个重载的构造方法 public Rectangle() / 无参构造方法 length = 1.0;width = 1.0; pub
29、lic Rectangle(double length) / 带参构造方法 this.length = length;this.width = length; public Rectangle(double length, double width)/带参构造方法 this.length = length;this.width = width; public double area() / 求长方形的面积 return length * width; public void display() System.out.println(长方形的面积是: + this.area(); public
30、class RectangleDemopublic static void main (String args) Rectangle rect1 = new Rectangle(); / 调用无参构造方法 rect1.display(); Rectangle rect2 = new Rectangle(6); rect2.display(); Rectangle rect3 = new Rectangle(10,20); rect3.display();长方形的面积是:1.0长方形的面积是:36.0长方形的面积是:200.056重写 当同名方法同时存在于子类和父类中时,对于子类来说就是将继承的
31、父类的方法重新写过了,实现方式完全和父类无关。当调用子类的方法时,运行的是子类重新改写的方法,而不是父类的方法。57【例2-11】重写方法的调用。class A void display() System.out.println(这是父类的方法);void print() System.out.println(As method print() called!);class B extends A / 子类B派生自父类Avoid display() / 方法的重写System.out.println(这是子类的方法);public class Test public static void m
32、ain(String args) A a1 = new A(); / a1引用类A的实例 a1.display(); a1.print(); A a2 = new B(); / a2引用类B的实例,子类对象可以看做父类对象 a2.display(); a2.print();结果:这是父类的方法As method print() called!这是子类的方法As method print() called!58方法重写时要遵循三个原则:重写方法的返回类型必须与它所重写的方法相同。重写方法不能比它所重写的方法有更严格的访问权限,也就是子类private方法不能覆盖掉父类public的方法。重写方法
33、不能比它所重写的方法抛出更多的异常。59任务实现123分析抽象出类按照类图编制出类框架实现类中的方法45定义主类创建类的对象 访问对象60课堂总结 类的封装类的继承多态面向对象程序设计与系统开发第3章 面向对象设计思想 62驱动任务一 创建一个抽象类Animal,它包含一个abstract的sound()方法;派生一个子类Dog,实现父类抽象方法sound();创建子类Dog对象,然后调用它的sound()方法。63目标及知识点定义和使用抽象类2final关键字的使用3抽象类的概念1164抽象类 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类 定义一个抽象类的格式如下
34、abstract class AbstractClassNamepublic abstract class Shapepublic abstract double area();/抽象方法public abstract double volume();/抽象方法 当一个类被定义成abstract类时,表示一个抽象的概念,它不能用new关键字实例化对象,例如上面定义的Shape类就是一个抽象类,只有被继承并在子类中重写其抽象方法,它才有意义。 65【例3-1】 定义一个代表形状的抽象类,并派生出圆柱体类和长方体类,计算底面半径为2高为3的圆柱体体积和长、宽、高分别为3、2、4的长方体体积。 /定
35、义一个形状抽象类abstract class Shapedouble radius,length,width,height;abstract double vol();/求体积的抽象方法Shape(double r,double h)/对半径和高进行初始化的构造方法radius = r;height = h;Shape(double l,double w,double h)/对长宽高进行初始化的构造方法length = l;width = w;height = h;/*圆柱体类*/class Circle extends ShapeCircle(double r,double h)super(
36、r,h);double vol()/重写父类抽象方法return(3.1416*radius*radius*height); /*长方体类*/class Rectangle extends ShapeRectangle(double l,double w,double h)super(l,w,h);double vol()/重写父类抽象方法return (length*width*height);/*主类*/public class AbstractClassDemo public static void main(String args) Circle c = new Circle(2,3)
37、; Rectangle r = new Rectangle(3,2,4); System.out.println(圆柱体体积 = + c.vol(); System.out.println(长方体体积 = + r.vol();结果:圆柱体体积37.6992长方体体积24.0【思考】abstract修饰的类一定有abstract修饰的方法吗?Java面向对象软件开发66最终类-final类 有一种类是不能派生出子类的,我们叫这种类为最终类。即我们用final来修饰的类。public final class Test1 Java面向对象软件开发67最终类-final类 如果一个类不允许其子类覆盖某
38、个方法,则可以把这个方法声明为final方法 public final void f2() System.out.println(f2);Java面向对象软件开发68【例3-2】 使用final方法的例子class Test1 public void f1() System.out.println(f1);/ 无法被子类覆盖的方法public final void f2() System.out.println(f2);public class Test2 extends Test1public void f1() System.out.println(Test1父类方法f1被覆盖!);pub
39、lic static void main(String args) Test2 t = new Test2();t.f1();t.f2(); / 调用从父类继承过来的final方法结果:Test1父类方法f1被覆盖!f269任务实现123分析类及关系 定义抽象类Animal Dog类利用构造方法为type属性赋值 45Dog类实现Animal的sound() main方法进行测试 70驱动任务二 有一个接口AddImp规定了有求和的方法sum();另外一个SubImp接口规定了有减法运算的方法subtract();再声明一个接口Calculatable继承于以上两个接口。创建Calculato
40、r类实现接口Calculatable,并生成对象测试该对象的加减功能。71目标及知识点接口的实现 2接口的继承 3多接口4接口的定义1172接口的定义在Java语言中,用关键字interface来定义接口。接口与类有相似的结构,其定义格式如下:修饰符 interface 接口名 extends父接口名/接口体 73接口的定义例3-3Interface ObjectArea double PI =3.14; double area(double r); 注意:接口和普通类不一样的是它的方法默认是抽象和公共的,属性默认是常量,静态的和公共的74接口的实现 若一个类想统一在某个接口的规范下,想具有这
41、个接口的”身份”,就需要实现这个接口。格式如下:Class 类名 implements 接口名接口的实现75例3-4class Circle implements ObjectAreapublic double area(double r)/重写return PI*r*r;注意:若实现接口的类不是抽象类,则该类必须实现指定接口的所有抽象方法。方法头部应该与接口中的定义完全一致,即有完全相同的方法名、参数表和返回值。76接口继承 接口也可以通过关键字extends继承其他接口。子接口将继承父接口中所有的常量和抽象方法。Interface 接口名 extends 接口名 接口继承77例3-5:in
42、terface AString a = 接口A中常量;void showA();interface B extends AString b = 接口B中常量;void showB();interface C extends BString c = 接口C中常量;void showC();class InterfaceABC implements Cpublic void showA()/重写A接口中的方法System.out.println(a);public void showB()/重写B接口中的方法System.out.println(b);public void showC()/重写C
43、接口中的方法System.out.println(c);实现多接口78一个类可以同时实现多个接口,接口名之间用逗号间隔。例3-6:interface A void meth1();interface B void meth2();class MyClass implements A,B public void meth1() System.out.println(Implement meth1().); public void meth2() System.out.println(Implement meth2().); 79任务实现123分析接口及类关系创建接口实现接口45创建对象调用对象中
44、的方法完成具体功能80课堂总结 抽象类的定义和继承接口的定义和实现面向对象程序设计与系统开发第4章 面向对象开发常用类82驱动任务一 定义一个字符串,它以空格、逗号(,)、点()和冒号(:)为分隔符,统计字符串有多少个单词,并将它们输出到屏幕上。Java面向对象软件开发83目标及知识点StringBuffer类 2常用方法的使用3String类1184String类字符串构造方法 String():构造一个空字符串对象。String(char value):通过char数组构造字符串对象。String(String original):构造一个传入的字符串的副本,该副本与传入的字符串对象是两个
45、不同的对象,虽然它们的内容一样。 String(StringBuffer buffer):通过StringBuffer对象来构造字符串对象,可以利用这个方法来将StringBuffer对象转变成String。String str1 = How do you do? ; / 直接赋值方式String str2 = new String(); /构造一个空串,不是null String str3 = new String(“I am a student!”); / 通过已有字符串构造一个新的字符串对象85String类字符串常用方法int length() :返回当前字符串长度。boolean e
46、quals(Object Object) :当Object不为空并且与当前String对象一样,返回true;否则,返回false。String concat(String str) :将该String对象与str连接在一起返回一个新字符串。char charAt(int index) :取字符串中的某一个字符,其中的参数index指的是字符串中字符的序数。该序数从0开始。String s = How do you do? ;int x = s.length();/x的值为:13 String s = AB;boolean x = s.equals(AB);/x的值为true boolean
47、y = s.equals(BA);/y的值为falseString s1=to;String s2=get;String s3=her;System.out.print(s1.concat(s2.concat(s3); / 输 出结果为:togetherString s = new String(Welcome to Java World!);System.out.println(s.charAt(5); / 输出结果为:m86String类字符串int indexOf(int ch) :从字符串中匹配参数中的字符,返回第一次匹配字符位置。int indexOf(int ch, int fro
48、mIndex) :从fromIndex这个参数表示的位置起查找,返回第一次匹配字符位置。int indexOf(String str) :返回匹配的字符串第一次出现的位置。int indexOf(String str,int fromIndex):从fromIndex String s = new String(write once, run anywhere!);String ss = new String(run);System.out.println(s.indexOf(r); / 输出结果为:1System.out.println(s.indexOf(r,2); / 输出结果为:12S
49、ystem.out.println(s.indexOf(ss); / 输出结果为:1287String类字符串String substring(int beginIndex) :取子串操作,返回从beginIndex位置开始到结束的子字符串。String substring(int beginIndex, int endIndex) :取从beginIndex位置开始到endIndex位置的子字符串。String s = 我是中国人;String str1 = s.substring(2);/str1的值为“中国人”String str2 = s.substring(2,4);/str2的值为
50、“中国”88String类字符串String replace(char oldChar, char newChar) :将字符串中所有的字符oldChar替换成newChar。String replace(String oldString, String newString):将字符串中所包含的oldString子串全部替换为newString。String s = abcbabcd;String str1 = s.replace(b, d);/str1的值“adcdadcd”String str2 = s.substring(ab,jk);/str2的值为“jkcbjkcd”89String
51、类字符串String trim():去除字符串左右两边空格。String toLowerCase() :将字符串转换成小写。String toUpperCase() :将字符串转换成大写。String s = abc ;String str1 = s.trim();/str1的值“abc”String s = abcABC;String str1 = s.toLowerCase();/str1的值“abcabc”String str2 = s.toUpperCase();/str2的值为“ABCABC”90StringBuffer类字符串构造函数StringBuffer():构造一个没有任何字
52、符的字符串对象。StringBuffer(int length):构造一个长度为length的字符串对象。StringBuffer(String str):以str为初始值构造一个StringBuffer类对象。91StringBuffer类字符串常用方法 public StringBuffer append(String b) :是向字符串缓冲区“追加”元素,而且这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整型数、对象类型、字符串和StringBuffer类等。如果添加的字符超出了字符串缓冲区的长度,Java将自动进行扩充。 String s1 = This i
53、s a pencil; String s2 = box; StringBuffer sb = new StringBuffer(s1); System.out.println(sb.append(s2); / 结果为:This is a pencilboxJava面向对象软件开发92StringBuffer类字符串public StringBuffer insert(int offset, double d) :在当前StringBuffer对象中插入一个元素,第一个参数offset表示插入位置,第二个参数d表要插入的数据,这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数
54、、长整型数、对象类型、字符串等。public StringBuffer delete(int start, int end) :删除当前StringBuffer对象中以索引号start开始到end结束的子串,但不会删除end处的字符。 StringBuffer sb=new StringBuffer(I am a student!); System.out.println(sb.insert(7,good );/输出结果为:I am a good student!StringBuffer sb=new StringBuffer(I am a student);System.out.printl
55、n(sb.delete(0,7); / 输出结果为:student93StringBuffer类字符串public StringBuffer deleteCharAt(int index) :删除指定位置的单个字符。public StringBuffer replace(int start, int end, String str) :替换当前StringBuffer对象的字符串。从start开始,到end结束的位置替换成str。public StringBuffer reverse():将字符串翻转。public String toString():将StringBuffer中的内容放入一个
56、String对象中返回出来,我们可以利用这个方法实现StringBuffer到String的转化。StringBuffer sb=new StringBuffer(too);System.out.println(sb.deleteCharAt(2); / 输出结果为:to StringBuffer sb=new StringBuffer(I am a student.); System.out.println(sb.replace(7,14, teacher);/ 输出结果为:I am a teacher StringBuffer sb = new StringBuffer(012345678
57、9); System.out.println(sb.reverse(); / 输出结果为: 9876543210 StringBuffer sb = new StringBuffer(0123456789);String str = sb.toString();/str的值为“0123456789”94练习1、定义一个字符串str,其值为“重庆正大软件职业技术学院”2、求字符串str长度3、求正在str中的位置95数据类型类 对应于Java中的基本数据类型(long,int,short,byte,float,double,char,boolean都有一个对应的数据类型类,封装了对对应基本数据类
58、型操作的一些方法 数据类型类与基本数据类型对照表 96Integer类静态域MAX_VALUE:通过类名可直接引用,得到该类型数据可以容纳的最大值。MIN_VALUE:通过类名可直接引用,得到该类型数据可以容纳的最小值。TYPE:通过类名可直接引用,得到该类对应的基本数据类型关键字。System.out.println(Integer类可以容纳的最大值: + Integer.MAX_VALUE ); System.out.println(Integer类对应的基本数据类型:Integer.TYPE);97Integer类构造函数Integer(int value):通过一个int类型数据构造对
59、象。 Integer(String s):通过一个String的类型数据构造对象。 Integer x = new Integer (123); /生成了一个值为123的Integer对象。Integer y = new Integer(1234); /生成了一个值为1234的Integer对象。98Integer类常用方法public int intValue():返回该整数对象的数值 public static int parseInt (String s):将数字字符串转化为int数。public static Integer valueOf(String s):将字符串转换成Integ
60、er数。public String toString():将Integer对象转化为字符串。public static String toString(int d):将整型参数转化为字符串。 Integer x = new Integer (123); /生成了一个值为123的Integer对象。int y = Value(); /y的值为123。int x = Integer.parseInt (1234); /将字符串1234转变为int型返回。int a=Integer.parseInt(123);int b=Integer.valueOf(678).intValue();long c=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铜川耀州区农村改造计划
- 客服生日问候语
- 2025版高考历史大一轮复习第10讲新民主主义革命二练习含解析新人教版
- 地震局金马片区排水系统整治合同
- 创业借款合同协议
- 单位车辆维修合同范本
- 2025年山东省建筑安全员C证(专职安全员)考试题库
- 南阳吊车出租合同范本
- 2025湖北省安全员-B证(项目经理)考试题库
- 2025年浙江省建筑安全员-C证考试(专职安全员)题库及答案
- 2024土方工程承包合同包含进度支付与违约责任条款范本3篇
- 暑假假期安全教育(课件)-小学生主题班会
- 《脂肪肝de健康教育》课件
- 2025年外研版小学英语单词表全集(一年级起1-12全册)
- Python爬虫技术基础介绍
- 中华民族共同体概论教案第四讲-天下秩序与华夏共同体演进
- 《传媒法律法规》课件
- 数据中心供配电系统概述演示
- TSG11-2020锅炉安全技术规程(现行)
- 人力资源行业人力资源管理信息系统实施方案
- 歌曲《wake》中英文歌词对照
评论
0/150
提交评论