
第6章工具类与算法 一、要点解析 1.教学内容 Java语言的工具类库;Java Applet类与Applet小程序;Java语言的向量;字符串;Java语言的各种 算法简述。 Java语言的基础类库即Java语言的java.lang包,它是Java语言的核心类库,基础类库包括: ①Object类: ②各种数据类型类与基本数据类型类: ③完成复杂数学运算的Math类: ④完成各种操作系统级操作的system类: ⑤字符串处理类: ⑥线程: ⑦异常处理类等。 每个Java程序运行时,系统都会自动调入java.lang包。 Java Applet程序是一种必须嵌入HTML文件中并由负责解释HTML文件的WWW浏览器充当解释 器,来解释执行Java Applet的字节码程序。所以,编写Java Applet程序必须要用到Java,applet包中的系 统类Applet. Java Applet程序在结构上必须是一个父类是系统的Applet类的子类。正是通过这个子类才能完成 Applet程序与浏览器的配合。如:下面是典型的JavaApplet程序的一部分。 import java.applet.Applet: public class MyApplet extends Applet { 程序体: Applet类是Java类库中的一个重要的系统类,它被存于java.applet包中。Applet类是Java系统 类java.awt.Panel的子类,Panel是Container的一种。它的作用有: (1)包容和排列其它的界面元素,如按钮、对话框等。 (2)响应它所包容范围内的事件,或把事件向更高层次传递。 (3)具有一些与浏览器和Applet生命周期有关的专门方法。 字符串是任何一种高级语言程序设计中均要使用的一种数据结构。 Java语言则把字符串(常量或变量)作为包Java.lang中String类和StringBuffer类的对象来分别处理。 对于字符串常量,由于程序中经常需要对它做比较、搜索之类的操作,通常是把它放在Stig类的 对象中,由程序完成对该对象的比较、搜索等操作:对于字符串变量,由于程序中经常需要对它做添加、 插入、修改之类的操作,一般把它存放在StringBuffer类的对象中进行处理
第 6 章 工具类与算法 一、要点解析 1.教学内容 Java 语言的工具类库;Java Applet 类与 Applet 小程序;Java 语言的向量;字符串;Java 语言的各种 算法简述。 Java 语言的基础类库即 Java 语言的 java.lang 包,它是 Java 语言的核心类库,基础类库包括: ①Object 类; ②各种数据类型类与基本数据类型类; ③完成复杂数学运算的 Math 类; ④完成各种操作系统级操作的 system 类; ⑤字符串处理类; ⑥线程; ⑦异常处理类等。 每个 Java 程序运行时,系统都会自动调入 java.lang 包。 Java Applet 程序是一种必须嵌入 HTML 文件中并由负责解释 HTML 文件的 WWW 浏览器充当解释 器,来解释执行 Java Applet 的字节码程序。所以,编写 Java Applet 程序必须要用到 Java .applet 包中的系 统类 Applet。 Java Applet 程序在结构上必须是一个父类是系统的 Applet 类的子类。正是通过这个子类才能完成 Applet 程序与浏览器的配合。如:下面是典型的 Java Applet 程序的一部分。 import java .applet.Applet; public class MyApplet extends Applet { 程序体; } Applet 类是 Java 类库中的一个重要的系统类,它被存于 java .applet 包中。 Applet 类是 Java 系统 类 java.awt.Panel 的子类,Panel 是 Container 的一种。它的作用有: ⑴ 包容和排列其它的界面元素,如按钮、对话框等。 ⑵ 响应它所包容范围内的事件,或把事件向更高层次传递。 ⑶ 具有一些与浏览器和 Applet 生命周期有关的专门方法。 字符串是任何一种高级语言程序设计中均要使用的一种数据结构。 Java语言则把字符串(常量或变量)作为包 Java.lang中 String类和StringBuffer 类的对象来分别处理。 对于字符串常量,由于程序中经常需要对它做比较、搜索之类的操作,通常是把它放在 String 类的 对象中,由程序完成对该对象的比较、搜索等操作;对于字符串变量,由于程序中经常需要对它做添加、 插入、修改之类的操作,一般把它存放在 StringBuffer 类的对象中进行处理

● String类 (I)字符串常量用String类的对象来表示,字符串变量用StringBuffer类的对象来表示。 (2)在Java语言中如何区分字符常量和字符串常量? 字符常量是用单引号括起来的单个字符: 字符串常量是用双引号括起来的字符序列。Java中字符串常量表面上与其它高级语言中的字符串常 量没有什么不同,但在具体实现上有较大的区别。 即Java的字符串常量是作为String类的对象来定义和使用,并且该对象有其专门的属性来规定它的 长度。 (3)如何创建字符串常量String类的对象? Java语言是通过构造函数来创建和初始化一个字符串常量的。 在创建String类的对象时需要向String类的构造函数传递参数来指定所创建的字符串的内容。 创建一个String()类的对象的基本步骤: 第一步:定义对象: 第二步:实例化新定义的对象 第三步:初始化新定义的对象 也可以将定义和初始化操作用一条语句来完成。如: String S=new String ("ABC") 还可以直接利用双引号括起来的字符串常量为新建的String对象“赋值”: StringS=“ABC ●StringBuffer类 Java中StringBuffer类的每一个对象都是可以扩充和修改的字符串变量。 2.教学要求 了解:Java语言Object类、数据类型类、Math类和System类的功能及所提供的属性和方法:Java Applet 类的作用:Java语言的各种算法: 掌握:String类对象和stringBuffer类对象的创建、使用和操作。 熟练掌握:JavaApplet类的主要方法及浏览器自动调用主要方法的操作过程。 二、典型例题 2.1定义三个类Person、Employee、Manager,类的层次关系如下图所示并对其进行测试。 Person Employee Manager ∥Exam42Test.java class Person ∥定义一个Person类
⚫ String 类 ⑴ 字符串常量用 String 类的对象来表示,字符串变量用 StringBuffer 类的对象来表示。 ⑵ 在 Java 语言中如何区分字符常量和字符串常量? 字符常量是用单引号括起来的单个字符; 字符串常量是用双引号括起来的字符序列。Java 中字符串常量表面上与其它高级语言中的字符串常 量没有什么不同,但在具体实现上有较大的区别。 即 Java 的字符串常量是作为 String 类的对象来定义和使用,并且该对象有其专门的属性来规定它的 长度。 ⑶如何创建字符串常量 String 类的对象? Java 语言是通过构造函数来创建和初始化一个字符串常量的。 在创建 String 类的对象时需要向 String 类的构造函数传递参数来指定所创建的字符串的内容。 创建一个 String( )类的对象的基本步骤: 第一步:定义对象; 第二步:实例化新定义的对象 第三步:初始化新定义的对象 也可以将定义和初始化操作用一条语句来完成。如: String S = new String (“ABC”) 还可以直接利用双引号括起来的字符串常量为新建的 String 对象“赋值”: String S =“ABC” ⚫ StringBuffer 类 Java 中 StringBuffer 类的每一个对象都是可以扩充和修改的字符串变量。 2.教学要求 了解:Java 语言 Object 类、数据类型类、Math 类和 System 类的功能及所提供的属性和方法;Java Applet 类的作用;Java 语言的各种算法; 掌握:String 类对象和 stringBuffer 类对象的创建、使用和操作。 熟练掌握:Java Applet 类的主要方法及浏览器自动调用主要方法的操作过程。 二、典型例题 2.1 定义三个类 Person、Employee、Manager,类的层次关系如下图所示并对其进行测试。 // Exam4_2Test.java class Person{ // 定义一个 Person 类 Person Employee Manager

public String name; ∥定义实例变量姓名 public String getName(){∥获取实例变量姓名 return name; } } class Employee extends Person{∥定义一个Employee类 public int employeeNumber; ∥定义实例变量雇员编号 public int getEmployeeNumber(){∥获取实例变量雇员编号 return employeeNumber; } } class Manager extends Employee{∥定义一个Manager类 public String responsibilities, ∥定义实例变量责任 public String getResponsibilities((){∥获取实例变量责任 return responsibilities; } public class Exam4 2Test ∥定义一个公共类 public static void main(String args[){∥定义公共类中的main(O方法 Employee li=new Employee(); ∥创建一个雇员类的对象 li.name ="Li Ming"; ∥设置li的name属性为"Li Ming" li.employeeNumber =123456; ∥设置Ii的employeeNumber属性为123456 System.out.println(li.getName());∥输出li的name属性值 System.out.println(li.getEmployeeNumber()方/∥输出li的employeeNumber属性值 Manager he =new Manager(); ∥创建一个经理类的对象he he.name ="He Xia": ∥设置he的name属性为"He Xia" he.employeeNumber=543469; ∥设置he的employeeNumber属性为543469 he.responsibilities="Internet project'",/∥设置he的responsibilities属性为"Internet project'" System.out.println(he.getName(Oy∥输出he的name属性 System.out.println(he.getEmployeeNumber(O);∥输出he的EmployeeNumber属性 System.out.println(he.getResponsibilities()),.∥输出he的Responsibilities属性 } 以上程序的运行结果: Li Ming
public String name; // 定义实例变量姓名 public String getName() { // 获取实例变量姓名 return name; } } class Employee extends Person{ // 定义一个 Employee 类 public int employeeNumber; // 定义实例变量雇员编号 public int getEmployeeNumber() { // 获取实例变量雇员编号 return employeeNumber; } } class Manager extends Employee{ // 定义一个 Manager 类 public String responsibilities; // 定义实例变量责任 public String getResponsibilities() { // 获取实例变量责任 return responsibilities; } } public class Exam4_2Test { // 定义一个公共类 public static void main(String args[]){ // 定义公共类中的 main()方法 Employee li = new Employee(); // 创建一个雇员类的对象 li li.name = "Li Ming"; // 设置 li 的 name 属性为"Li Ming" li.employeeNumber = 123456; // 设置 li 的 employeeNumber 属性为 123456 System.out.println(li.getName()); // 输出 li 的 name 属性值 System.out.println(li.getEmployeeNumber()); // 输出 li 的 employeeNumber 属性值 Manager he = new Manager(); // 创建一个经理类的对象 he he.name = "He Xia"; // 设置 he 的 name 属性为"He Xia" he.employeeNumber = 543469; // 设置 he 的 employeeNumber 属性为 543469 he.responsibilities = "Internet project"; // 设置 he 的 responsibilities 属性为"Internet project" System.out.println(he.getName()); // 输出 he 的 name 属性 System.out.println(he.getEmployeeNumber()); // 输出 he 的 EmployeeNumber 属性 System.out.println(he.getResponsibilities()); // 输出 he 的 Responsibilities 属性 } } 以上程序的运行结果: Li Ming

123456 He Xia 543469 Internet project 2.2定义一个Shape2D接口,具有数据pi与计算面积的方法:定义一个Color接口,具有设置颜色的功能: 定义一个Circle类,实现Shape:2D、Color接口。 /∥Shape2D.java interface Shape2D{ ∥声明Shape2D接▣ double pi=3.14; ∥数据成员一定要初始化 double area(); ∥抽象方法,不需要定义处理方式 } /∥Color.java interface Color{ void setColor(String str),∥抽象方法,不需要定义处理方式 } f∥Circle.java class Circle implements Shape2D,Color∥实现Circle类 { double radius; String color: public Circle(double r) ∥构造方法 radius=r; } public double area() ∥定义area()的处理方式 { return(pi*radius*radius); } public void setColor(String str) ∥设置圆类对象的颜色 color=str; System.out.println("color="+color); } } /MultiInterfaceTester.java
123456 He Xia 543469 Internet project 2.2 定义一个 Shape2D 接口,具有数据 pi 与计算面积的方法;定义一个 Color 接口,具有设置颜色的功能; 定义一个 Circle 类,实现 Shape2D、Color 接口。 // Shape2D.java interface Shape2D{ // 声明 Shape2D 接口 double pi=3.14; // 数据成员一定要初始化 double area(); // 抽象方法,不需要定义处理方式 } // Color.java interface Color{ void setColor(String str); // 抽象方法,不需要定义处理方式 } // Circle.java class Circle implements Shape2D,Color // 实现 Circle 类 { double radius; String color; public Circle(double r) // 构造方法 { radius=r; } public double area() // 定义 area()的处理方式 { return (pi*radius*radius); } public void setColor(String str) // 设置圆类对象的颜色 { color=str; System.out.println("color="+color); } } // MultiInterfaceTester.java

public class MultiInterfaceTester{ public static void main(String args[]){ Circle cir=new Circle(2.0): cir.setColor("blue"); System.out.println("Area="+cir.area()); } } 以上程序的运行结果: color=blue Area=12.56
public class MultiInterfaceTester{ public static void main(String args[]) { Circle cir=new Circle(2.0); cir.setColor("blue"); System.out.println("Area = " + cir.area()); } } 以上程序的运行结果: color=blue Area = 12.56