java语言程序设计B复习提要(整理版本)_第1页
java语言程序设计B复习提要(整理版本)_第2页
java语言程序设计B复习提要(整理版本)_第3页
java语言程序设计B复习提要(整理版本)_第4页
java语言程序设计B复习提要(整理版本)_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

Java 语言程序设计语言程序设计 B 复习提要复习提要 1 类 对象的概念 类与对象的关系 P8 答 类是同一种 具有相同属性和行为 对象的集合与抽象 对象是现实中的具体实体 2 面向对象的三大特征 P9 答 抽象 封装 继承和多态 3 封装 继承和多态的概念 Java 语言实现多态有哪三种方法 P9 封装是将对象的属性和行为组合成为一个独立的单位或部件 并尽可能隐蔽对象的内部细节 而只保留必要的 对外接口 使之与外部发生联系 它是面向对象的重要原则 继承是指一个对象是对另一个对象的扩展 它除了包含被继承对象的已有属性的操作之外 还可以加入新的特 性 多态性是指同一个消息可以根据发送对象的不同而产生不同的效果的行为方式 利用多态性可以实现用相同的 方法调用作用于不同类型的对象 实现多态的方法 方法重写 方法覆盖 方法重载 接口 4 JDK 安装目录下 bin 文件夹中的可执行文件 javac exe java exe appletviewer exe 和 javadoc exe 的作用 P19 答 javac exe Java 语言编译器 它负责将 Java 源代码 以 Java 为扩展名 编译为字节码 以 class 为扩展名 java exe Java 语言解释器 它负责执行 Java 字节码文件 appletviewer exe Java Applet 小程序查看器 javadoc exe Java 语言文档生成器 将源程序文档中的注释取成 html 格式文件 5 Java 程序的分类 P21 答 应用程序 Application 它类似与以往用其它高级语言开发的程序 可以在本机上开发 也可以在本机运行 它的执行入口点中 main 方法 另一类是小型应用程序 Applet 它需要通过浏览器下载运行 其中没有 main 方法 6 Java 的基本类型包含了哪 8 种 字符使用什么编码形式 P47 48 答 整数型 浮点型 布尔型与字符型四类八种 其中数值型 6 种分别为整数类型 int 类型 4 个字节 short 类型 2 个字节 long 类型 8 个字节 byte 类型 1 个字节 浮点类型中 float 类型 4 个字节 dpuble 类型 8 个字节 字符编码使用 Unocode 编码体系 双字节 7 一个浮点常量没有使用表示类型的后缀字母 f 或 d 则该浮点常量的类型是那种 P50 答 整形默认类型为 int 类型 浮点类型默认类型为 double 类型 加 E 表示指数方式 加 F 表示单精度 float 加 D 表示双精度 double 在 E 的前面至少要有一位数字 8 字符串的连接运算符是哪个 P51 答 使用 符号实现两个字符串的连接 How are you 表示 How are you 9 Java 语言中的布尔常量只有两个 写出它们的常量表示形式 P51 答 true 与 false 只能是其中的一个 10 对象运算符是 instanceof 它有何用途 P58 答 它用于测定一个对象是否属于某个指定类或指定类的子类的实例 它是一个双目运算符 左边的表达式是一个 对象 右边的表达式是一个类 如果左边的对象是右边的类创建的对象 则运算结果为 true 否则为 flase 11 Java 中的常用数学函数定义在那个类中 这些函数都用 public 和 static 修饰 可以直接用类名来调用 写出 调用的一般形式 P68 答 常用的数学函数在 Math 类中 其一般的形式如下 import java lang math 一般可以直接引用类中的方法 Math sin Math PI 4 Math sqrt XXXX Math pow aInt bInt 等 参考 API 文档 12 习题 3 1 3 3 3 7 3 9 P72 73 第 3 章习题 1 非法变量名称 A bbyte3ABC abc 0 xab4 3elk j 第 3 章习题 3 程序名 X03 03 Switch java public class test public static void main String args int x 1 a 0 b 0 switch x case 0 b case 1 a case 2 a b System out println a a tb b 运行的结果是 a 2b 1注意题目中的控制位置有两处 最终输出的时候重新修改了 第 3 章习题 3 7 计算 100 含 100 以内的所有偶数的和 所有奇数的和 程序名 X03 07 OuJiSum java public class X03 07 OuJiSum public static void main String args int k sumOu 0 sumJi 0 for k 1 k E1 sumE temp n temp 1 0 fct n System out println n n 1 sumE sumE static long fct int n 计算 n long JieCheng 1 for int k 1 k n k JieCheng k return JieCheng 13 Java 中数组声明和数组创建的含义相同吗 指出下面语句的作用 P76 声明数组可以使用 int student 或 int student 声明数组只是给出了一个数组的名称的数据的类型 要使用数组还要 为数组分配内存空间 如下格式 int student 声明数组 student new student 50 为数组分配内存空间 14 数组被初始化后 如果想知道这个数组的元素个数 要使用数组的哪个属性 P77 答 使用 length 属性确定 15 Java 二维数组允许各行有不同的元素个数吗 P80 答 可以 Java 的数组定义方式与其它语言不同 它是按一维建立相应的二维 并以此类推 16 Java 中使用那个类创建字符串常量 使用那个类创建字符串变量 P88 答 String 类 声明常量格式 stringName 字符串常量 如 str new String Java 程序设计 或 str Java 程序设计 17 习题 4 4 4 6 P104 第 4 章习题 2 程序名 X04 04 ArrayCoverse java public class X04 04 ArrayCoverse public static void main String args int iArray 9 5 7 4 8 temp count count iArray length System out println 数组原有数据 for int k 0 k count k System out print iArray k t System out println for int k 0 k count 2 k temp iArray k iArray k iArray count k 1 iArray count k 1 temp System out println 逆序重置后的数组数据 for int k 0 k count k System out print iArray k t System out println 第 4 章习题 6 程序名 X04 06 CharCount java import javax swing JOptionPane public class X04 06 CharCount public static void main String args int count 0 k 0 spaceV 0 charV 0 numberV 0 String str char cArr str JOptionPane showInputDialog 请输入一个字符串 cArr str toCharArray count cArr length for k 0 k 统计数字的个数 System out println 输入的字符串是 str t 字符串长度是 str length System out println 字母的个数 charV t 空格的个数 spaceV t 数字的个数 numberV 18 类声明时 类的访问权限修饰符有哪两种情况 如果在类说明中无 extends 则隐含地假设其父类是哪个类 P107 答 1 类定义修饰符说明类的性质和访问权限 包括 public 默认修饰符 abstract final 2 extends 说明类的父类 一般形式为 extends 在 Java 中如果说明 extends 则隐含假设其父类为 Java lang object 19 类中所定义的变量和方法都是类的成员 为类的成员定义一定的访问权限 限定其它对象对它的访问 访问权 限有哪 4 种 分别具有什么样的访问权限 P108 答 1 public 说明的变量是公有变量 其访问权限是允许任何程序包中的类访问 其作用域最广 2 private 说明的变量是私有变量 其访问权限只能是被定义它的类中的方法访问 3 protected 是保护变量 其访问权限只能中类本身 子类及在同一个包中的所有类的变量访问 4 默认修饰符 也称隐含修饰符 它不属于 Java 的关键字 其作用是控制变量的访问权限 如果一个变量没有显 式说明访问权限 则表示使用默认的修饰符 它允许类本身用在同一个包中的类的变量访问 20 对类的成员来说 可分为实例成员和类成员 如何区分 P108 答 用 static 说明的变量是一个静态变量 也称类变量 无 static 说明的变量为实例变量 它们之间的区别是 实例 变量必须通过类的对象访问 每个对象都有这些变量的备份 而静态变量则独立于该类中的任何对象 它在类中只 有一个备份 可以不通过类的对象直接使用 它一直属于定义它的类 21 说明修饰符 final static abstract 和 synchronized 的作用 P109 答 1 final 说明该方法为最终方法 指该方法不能被其所在类的子类重载 只能继承 不能重写 2 static 说明该方法为静态方法 也称为类方法 在使用该方法时不需要初始化该方法所在的类 此方法也不能 被其它方法重载 3 abstract 说明该方法是抽象方法 该方法只有说明 没有方法体 方法在所在类的子类中被具体实现 4 synchronized 说明是同步方法 主要用于多线程程序设计 用于保证在同一时刻只有一个线程访问该方法 它 是实现资源之间协商共享的保证方式 22 构造方法有返回值吗 构造方法可以从父类中继承吗 一个类可以有多个构造方法吗 可以直接通过方法名调 用构造方法吗 P110 答 构造方法主要用于为类的方法中的变量赋初值 当使用 new 创建一个类的新对象的时候 构造方法就立刻执行 它必须与类名相同 1 它没有返回值类型 没有 void 其修饰符只能是文章控制修饰符 public private 或 protected 其中之一 2 它不能从父类中继承 3 可以重载 一个类可以有任意多个构造方法 不同的对象根据参数的不同状态选择合适的构造方法 4 它不能通过方法名直接引用 必须通过 new 运算符 5 可以调用当前类和其父类的另一个构造方法 但必须是方法体的第一个语句 23 什么是方法重载 说明例 5 5 中方法重载情况 分析运行结果 P114 答 在 Java 类中可以创建名字相同 但参数和返回值不同的多个方法 这就是方法重载 overloading Java 系统通 过参数和返回值来区分具体是哪个方法 通过方法重载 一个类中可以有多个名字相同的方法 通过对其传递的不 同参数调用特定的方法 这就是多态 24 什么是变量隐藏 什么是方法覆盖 说明例 5 8 中变量隐藏和方法覆盖情况 分析运行结果 答 子类继承父类后 如果出现子类的成员变量与父类的成员变量相同 则子类将父类的成员变量隐藏起来 在此 情况下 子类使用的变量是它自己的变量 而不是父类的成员变量 例 5 8 成员变量隐藏和方法覆盖应用举例 程序名 L05 08 SuperUse java class Superclass int x Superclass x 3 System out println in Superclass x x void dosomething System out println in Superclass dosomething class Subclass extends Superclass int x Subclass super x 5 System out println in Subclass x x void dosomething super dosomething System out println in Subclass dosomething System out println super x super x tsub x x public class L05 08 SuperUse public static void main String args Subclass Subc new Subclass Subc dosomething 25 什么情况下使用 super 和 this P119 答 子类继承父类之后 如果成员变量与父类相同 则父类的变量被隐藏 如果子类要调用父类的变量则需要使用 super 1 用来访问父类中被覆盖的方法 2 用来访问父类中的构造方法 3 用来访问父类中被隐藏的成员变量 This 是 Java 的关键字 它表示每个实例对象指向自己的引用 一般只能用于在实例方法或构造方法中 不能出现在 类方法中 26 Java 中一个类的父类只能有一个吗 一个接口的父接口也只能有一个吗 答 通过继承方式只能有一个父类 但通过接口方式可以有多个父类 27 在一个 Java 源程序文件 java 中可以定义一个类 也可以定义多个类 若定义多个类 其访问权限为 public 的类能有几个 编译后的字节码文件 class 有几个 答 可以定义多个类 对于使用访问权限为 public 的类没有限制 生成的 class 文件数量与其相同 28 习题 5 6 5 9 5 15 5 16 P141 第 5 章习题 15 程序名 X05 15 Student java class X05 15 Student private String sname private int sbirthday private String sclass X05 15 Student X05 15 Student String name int birthday String class1 sname name sbirthday birthday sclass class1 void setname String name sname name String getname return sname void setbirthday int birthday sbirthday birthday int getbirthday return sbirthday void setclass String class1 sclass class1 String getclass return sclass void print System out println sname sname sbirthday sbirthday sclass sclass class CollegeStudent extends X05 15 Student void setbirthday int birthday if birthday 17 else System out println Not a collegestudent 第 5 章习题 16 程序名 X05 16 AbstractUse java abstract class Shape abstract double Area abstract double Perimeter class Rectangle extends Shape private double length private double width Rectangle double l double w length l width w double Area return length width double Perimeter return 2 length width void Print System out println Rectangle length length width width Area Area Perimeter Perimeter class Circle extends Shape private double radius Circle double r radius r double Area return Math PI radius radius double Perimeter return 2 Math PI radius void Print System out println Circle radius radius Area Area Perimeter Perimeter public class X05 16 AbstractUse public static void main String args Circle aCircle new Circle 4 Rectangle aRect new Rectangle 5 12 aCircle Print aRect Print 29 什么是异常 什么是抛出异常 什么是捕获异常 P144 答 异常是指程序在某些运行情况下 会使当前正在执行的方法或代码块无法继续运行的问题 普通的问题在编码 时可以得到足够的信息来处理普通问题 但当异常发生时 由于无法获得足够的信息 因此只能选择跳出当前的运 行代码 或者将问题交给上层代码去处理 这就是异常抛出 当 Java 系统运行时得到一个异常对象时 它会沿着方 法的调用栈依次回溯 寻找处理这个异常的代码 找到能够处理这类异常的方法后 运行时系统将当前的对象交给 这个方法处理 这个过程就是捕获异常 30 P145 根据程序对错误与异常的处理方式 可以将 Java 中的异常分为哪 3 类 答 1 Error 类 指系统级的错误 无法解决 2 RuntimeException 类 可以避免 一般不会影响系统的运行 可以不处理 3 Exception 类 程序运行中必须捕获的异常 使用 try catch 方法 31 使用什么语句捕获并处理异常 使用什么语句人为抛出异常 使用什么子句声明方法抛出异常 149 150 答 try catch finally 语句用于捕获并处理异常 32 习题 6 10 P157 答 33 习题 7 3 P174 答 Applet 执行的方法主要为 init start stop destroy 和 paint 它们的执行过程取决于程序设计人员 34 容器 Container 类包含了 Panel Window Frame 和 Dialog 等子类 其中 那些类容器不带边框 那些类容 器带边框 Container 类的那个方法可以向容器中添加组件 P177 答 Panel 子类不带边框 其它类均有边框 35 Java awt 包中为容器定义了哪 5 种布局管理器 Panel 的默认布局管理器是哪个 Window Frame 和 Dialog 的默认布局管理器是哪个 使用容器类的那个方法设定布局管理器 P180 181 36 在 Java 的事件处理过程中 主要涉及哪三类对象 P186 答 1 Event 事件 用户对界面操作在 Java 语言上的描述 以类的形式出现 2 Event Source 事件源 事件发生的场所 通常就是各个部件 3 Event handler 事件处理者 接收并能够处理事件 37 使用委任事件模型进行事件处理 一般通过那些步骤来接受和管理事件 P186 答 1 让类声明所需要的监听器 针对 XXXEvent 使用 XXXListener 2 为组件 事件源 登记接口 针对组件进行授权 使用 addXXXListener 方法来注册监听器 3 在类中实现接口中声明的事件处理方法 38 分析例 8 6 程序 P210 实验 2 3 P189 例 8 6 事件处理模型的应用举例 程序名 L08 06 ActionHandleDemo java import java awt 引用 awt 类包 import java awt event 引用事件包 public class L08 06 ActionHandleDemo extends Frame implements ActionListener static L08 06 ActionHandleDemo frm new L08 06 ActionHandleDemo static Button btn new Button 请单击 新建对象同时设置 title public static void main String args main 方法开始 btn addActionListener frm 为按钮增加监听器 frm setLayout new FlowLayout 设置窗体的布局 frm setTitle 事件测试窗口 设置窗体的 title frm setSize 300 200 设置窗体的大小 frm add btn 将按钮加入窗体中 frm setVisible true 设置窗体可见 public void actionPerformed ActionEvent e frm setBackground Color blue 39 Jvav 的一个线程由哪几部分组成 P213 答 1 虚拟处理机 虚拟 CPU 封装在 java lang Thread 类中 它控制着整个线程的运行 2 执行的程序代码 Code 传递给 Therad 类 由 Thread 类控制顺序执行 3 程序所处理的数据 Data 传递给 Thread 类 40 Java 中可以采用哪 2 种方式创建新的线程 分析例 9 1 和 9 2 中创建线程的方法 P215 答 1 扩展 thread 类 首先扩展 java lang Thread 的类 然后用希望执行的代码来实现 run 方法 再通过 new 关 键字实例化该类的一个新对象 一个线程 最后通过 start 方法启动线程 2 实现 Runnable 接口 Runnable 接口实现类 然后创建一个 Thread 类的对象 创建一个新线程 最后用线程对 象调用 start 方法启动线程 通过继承线程创建线程举例 程序名 通过继承线程创建线程举例 程序名 L09 01 ExtendsThread java public class L09 01 ExtendsThread extends Thread 继承 Thread 类 int count 1 number public L09 01 ExtendsThread int num 通过形参 num 接收参数传递 number num System out println 创建线程 number public void run 重新构造 run 方法 while true System out println 线程 number 计数 count if count 5 return run public static void main String args for int i 0 i 10 i L09 01 ExtendsThread tt new L09 01 ExtendsThread i 1 构造线程 tt 并向其传递参数 tt start 通过调用 start 方法启动线程 main 通过通过 Runnable 接口创建线程举例 程序名 接口创建线程举例 程序名 L09 02 ImplementsRunnableThread java public class L09 02 ImplementsRunnableThread implements Runnable 实现 Runnable 接口 int count 1 number public L09 02 ImplementsRunnableThread int num number num System out println 创建线程 number public void run 重新构造 run 方法 while true System out println 线程 number 计数 count if count 5 return run public static void main String args for int i 0 i 10 i L09 02 ImplementsRunnableThread yourt new L09 02 ImplementsRunnableThread i 1 Thread tt new Thread yourt 创建一个

温馨提示

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

评论

0/150

提交评论