1、班 级 : 姓 名 : 学 号 : JAVA 程 序 设 计 试 题 1一、单项选择填空(每小题2分,共50分)1. 下 列 有 关 Java语 言 的 叙 述 中 , 正 确 的 是 ( B)A、 Java 是 不 区 分 大 小 写 的 B、 源 文 件 名 与 public权 限 的 类 名 必 须 相 同C、 源 文 件 名 其 扩 展 名 为 .jarD、 源 文 件 中 public类 的 数 目 不 限2. 在 Java中 , 负 责 对 字 节 代 码 解 释 执 行 的 是 ( B) 。 字 节 就 是 class 文 件A、 垃 圾 回 收 器 B、 虚 拟 机 C、 编
2、译 器 D、 多 线 程 机 制3. 在 Java程 序 设 计 中 , 由 Java编 译 器 默 认 导 入 的 包 是 ( D)A、 java.applet B、 java.awt C、 java.util 输 入 语 言 D、 java.lang4. 编 译 Javaapplication 源 程 序 文 件 将 产 生 相 应 的 字 节 码 文 件 , 这 些 字 节文 件 的 扩 展 名 为 ( B)A、 .java B、 .class C、 .html D、 .exe5. 在 Java中 , 用 package语 句 定 义 一 个 包 时 , 该 包 的 层 次 结 构 即
3、是 ( b)A、 与 文 件 的 结 构 相 同 B、 与 文 件 目 录 的 层 次 相 同C、 与 文 件 类 型 相 同 D、 与 文 件 大 小 相 同6. 有 时 在 程 序 设 计 中 采 用 分 治 算 法 而 选 择 递 归 , “ 递 归 ” 的 基 本 思 想 是 ( c)A、 “ 让 别 人 反 复 调 用 自 己 ” B、 “ 自 己 反 复 调 用 别 人 ”C、 “ 自 己 反 复 调 用 自 己 ” D、 以 上 说 法 都 不 对7. main方 法 是 Java Application 程 序 执 行 的 入 口 , 含 有 main方 法 的 类 是主 类
4、, 且 main方 法 的 定 义 是 唯 一 的 , 以 下 哪 项 是 正 确 的 ( b)A、 publicstaticvoidmain( ) B、 publicstaticvoidmain(Stringargs)C、 publicstaticintmain(Stringarg)D、 publicvoidmain(String arg)8. 按 照 Java的 标 识 符 的 行 业 命 名 规 范 , 下 列 分 别 表 示 一 个 类 和 一 个 方 法 的标 识 符 比 较 合 适 的 是 ( b)A、 Helloworld,GetSwimmingScoreB、 HelloWorl
5、d,getSwimmingScoreC、 helloworld,getswimmingscore D、 helloWorld,Getswimmingscore9. 以 下 程 序 的 运 行 结 果 为 ( d)publicclassIfTestpublicstaticvoidmain(Stringargs)intx=3;inty=1;if(x=y)System.out.println(“ equal” );elseSystem.out.println(“ NotEqual” );A、 Notequal B、 Equal C、 无 输 出 D、 编 译 出 错 , 找 不 到 y10. 下 列
6、 说 法 不 正 确 的 是 ( c)A、 IOException必 须 被 捕 获 或 抛 出 B、 java语 言 不 自 动 初 始 化 变 量 的 值C、 java语 言 不 允 许 同 时 继 承 一 个 类 并 实 现 一 个 接 口D、 java语 言 会 自 动 回 收 内 存 中 的 垃 圾11. 在 Java中 , 所 有 类 的 根 类 是 ( a)A、 java.lang.Object B、 java.lang.ClassC、 java.applet.Applet D、 java.swing.Jframe12. 下 列 方 法 中 可 以 用 来 创 建 一 个 新 线
7、 程 的 是 ( b)A、 实 现 java.lang.Runnable接 口 并 重 写 start()方 法B、 实 现 java.lang.Runnable接 口 并 重 写 run()方 法C、 实 现 java.lang.Thread接 口 并 重 写 run()方 法D、 实 现 java.lang.Thread类 并 重 写 start()方 法13. 启 动 Applet小 程 序 时 , 即 调 用 类 似 于 应 用 程 序 main方 法 的 入 口 方 法 ( b)A、 stop() B、 init() C、 start() D、 destroy()14. Java的
8、字 符 类 型 采 用 的 是 Unicode编 码 方 案 , 每 个 Unicode码 占 用 _个 比 特 位 。 ( b )A、 8 B、 16 C、 32 D、 6415. 下 面 哪 个 选 项 是 Java语 言 中 的 关 键 字 ? ( c)A toString B Class C instanceof D Int16. 以 下 哪 个 选 项 是 字 符 串 对 象 的 长 度 ? ( d)A size B length C max_value D length()17. 下 面 程 序 段 的 执 行 结 果 是 什 么 ? ( b)publicclassExppubli
9、cstaticvoidmain(Stringargs)try intf=12;return;catch(Exceptione)System.out.println(e.getMessage();finallySystem.out.println(“ Finally!” );A、 程 序 正 常 运 行 , 但 不 输 出 任 何 结 果 B、 程 序 正 常 运 行 , 并 输 出 FinallyC、 编 译 能 通 过 , 但 运 行 时 会 出 现 例 外 D、 因 为 catch 语 句 块 不 对 应 , 所以 不 能 通 过 编 译18. classMethodOverloadpub
10、licvoidsetValue(inta,intb,floatc)下 列 哪 个 方 法 定 义 是 setValue的 重 载 方 法 : ( c)A.publicvoidsetValue(inta,intc,floatb)B.publicvoidsetVar(inta,intb)C.publicintsetValue(inta,floatc,intb)returna;D.publicfloatsetValue(inta,intc,floatb)returna;19. 下 列 叙 述 中 哪 个 是 不 正 确 的 ? ( d)A、 final 类 不 可 以 有 子 类 B、 abstra
11、ct 类 不 可 以 有 abstract 的 静 态 方 法C、 不 可 以 同 时 用 final和 abstract 修 饰 一 个 方 法D、 abstract 类 中 可 以 有 非 abstract方 法 , 但 该 方 法 不 可 以 用 final 修 饰接 口 中 只 能 有 常 量 和 抽 象 方 法 ; 抽 象 类 中 可 以 有 抽 象 方 法 和 非 抽 象 方 法 ;20.阅 读 下 列 代 码 ,publicclassPersonintarr=newint10;publicstaticvoidmain(Stringargs)arr1=newint10;System
12、.out.println(arr10);根 据 上 面 的 代 码 , 下 列 正 确 的 说 法 是 ( )A、 编 译 错 误 , 提 示 无 法 从 静 态 上 下 文 中 引 用 非 静 态 变 量 arrB、 编 译 时 正 确 , 运 行 时 将 产 生 错 误 C、 输 出 0 D、 输 出 空21. 设 有 下 面 的 两 个 类 定 义 :classAvoidShow()System.out.println(“AstudyJava! “);classBBextendsAvoidShow()System.out.println(“BBstudyC+! “);则 顺 序 执 行
13、如 下 语 句 后 输 出 结 果 为 : ( a)A a=newA(); Ab=newBB(); a.Show(); b.Show();A、 AstudyJava! B、 AstudyC+!BBstudyC+! BBstudyJava!C、 AstudyJava! D、 AstudyC+!BBstudyJava! BBstudyC+!22. Swing与 AWT 的 区 别 不 包 括 : ( d)A、 Swing是 由 纯 Java实 现 的 轻 量 级 构 件 B、 Swing没 有 本 地 代 码C、 Swing不 依 赖 操 作 系 统 的 支 持 D、 Swing支 持 图 形 用
14、 户 界 面 都支 持23. 容 器 JFrame及 JPanel 默 认 的 布 局 管 理 器 分 别 是 ( b)A、 FlowLayout和 GridLayout B、 BorderLayout 和 FlowLayoutC、 FlowLayout 和 FlowLayout D、 CardLayout和 BorderLayout24. 在 开 发 一 个 JAVAGUI 程 序 时 , 通 常 都 要 对 按 键 事 件 作 出 响 应 和 处 理 ,一 般 需 要 在 程 序 的 开 头 写 上 ( d) 语 句 。A、 importjava.awt.*; B、 importjava.
15、applet.*;C、 importjava.io.*; D、 importjava.awt.event.*;25. 每 个 使 用 Swing组 件 的 程 序 必 须 有 一 个 ( d)A、 按 钮 B、 标 签 C、 菜 单 D、 容 器二、填空题(每空1分,共20分)1. JAVA源 程 序 是 由 包 定 义 语 句 、 导 入 语 句 、 类 定 义 、 方 法 定 义和 执 行 语 句 等 五 部 分 组 成 的 。2. 根 据 类 定 义 的 格 式 , 类 体 里 一 般 有 内 部 类 、 属 性 ( 成 员 变 量 ) 和方 法 。3. 面 向 对 象 程 序 设 计
16、的 三 个 基 本 特 征 分 别 是 抽 象 、 封 装 、继 承 、 多 态 。4. 算 术 运 算 异 常 、 下 表 数 组 越 界 异 常 类 都 源 于 Exception这 个 父 类 。5. 在 Java程 序 中 , 通 过 类 的 定 义 只 能 实 现 单 重 继 承 , 但 通 过 接口 的 定 义 可 以 实 现 多 重 继 承 。6. 接 口 的 所 有 成 员 属 性 都 默 认 且 必 须 是 public 、 static和 Final 的 。7. 方 法 的 重 载 是 指 在 同 一 个 类 中 , 声 明 方 法 名 称 相 同 但 参数 不 同 的 多
17、 个 方 法 。8. Java 语 言 的 各 种 数 据 类 型 之 间 提 供 两 种 转 换 : 自 动 类 型 转 换和 强 制 转 换 。9. 在 类 的 构 造 方 法 和 实 例 方 法 中 , 使 用 关 键 字 this 可 以 解 决局 部 变 量 与 实 例 变 量 同 名 的 问 题 。10. this 关 键 字 代 表 当 前 对 象 , 而 super 关 键 字 是 指 当 前 对 象 的 父类 。11. 抽 象 方 法 不 能 使 用 修 饰 符 final 和 static 修饰 。12. 在 进 行 JavaGUI 程 序 设 计 时 , 一 般 都 要
18、用 到 swing 特 性 , 因 此 必 须 在 程序 的 开 头 写 上 _importjavax.swing.*;_语 句 。三、判断题(每小题1分,共7分),请将正确的打,错误的打。1、 在 异 常 处 理 中 , 若 try 块 中 的 代 码 可 能 产 生 多 种 异 常 则 可 以 对 应 多 个catch 语 句 , 如 try 块 中 没 有 产 生 异 常 的 代 码 , 那 么 可 以 在 try 块 后 不 对应 catch块 ( 即 可 无 catch块 ) ( 不 能 没 有 catch) , 而 finally 块 是 无 论 异常 发 生 与 否 都 要 执
19、行 的 语 句 块 , 它 是 可 有 可 无 的 。 ( finally 可 以 没 有 )( 错 )2、 Java 程 序 是 由 若 干 类 定 义 组 成 的 , 类 定 义 包 括 定 义 类 头 和 定 义 类 体 。( 对 )3、 有 的 类 定 义 时 可 以 不 定 义 构 造 方 法 , 因 为 当 用 户 不 定 义 一 个 或 以 上 的 构造 方 法 时 系 统 会 为 其 自 动 创 建 一 个 默 认 的 无 参 构 造 方 法 , 且 含 有 一 条super()语 句 。 ( 对 )4、 抽 象 类 中 的 抽 象 方 法 必 需 在 该 类 的 子 类 中
20、具 体 实 现 。 ( 不 是 必 需 实 现 )( 错 )5、 终 态 类 不 能 派 生 子 类 , 终 态 方 法 不 能 被 覆 盖 。 ( 对 )6、 一 个 Java类 可 以 有 一 个 父 类 , 并 实 现 多 个 接 口 。 ( 对 )7、 接 口 是 特 殊 的 抽 象 类 , 所 以 接 口 也 可 以 继 承 , 子 接 口 将 继 承 父 接 口 的 所有 常 量 和 抽 象 方 法 。 ( 对 )四、简答题(每题3分,共9分)1、 简 述 静 态 成 员 与 非 静 态 成 员 的 区 别静 态 是 被 所 有 对 象 共 享 。 怎 么 访 问 静 态 , 可
21、以 通 过 类 名 访 问 。 非 静 态 不能 访 问 静 态2、 简 述 构 造 方 法 的 特 性 ; 略3、 在 一 般 情 况 下 , J2SEGUI 程 序 设 计 的 六 步 流 程创 建 顶 层 容 器 及 中 间 容 器设 置 容 器 状 态 : 大 小 , 颜 色 创 建 组 件 及 设 定 其 状 态为 组 件 及 容 器 添 加 相 应 的 监 听 器 。按 照 容 器 的 布 局 管 理 方 式 添 加 组 件 。将 顶 层 容 器 显 示 。五、写程序结果及程序填空(第1、2题每题3分,第3题程序填空每空2分【小计8分】,共14分)1、 class Animalpu
22、blicAnimal()System.out.print(“Animal “);public class Dog extends AnimalprivateStringname;publicDog()this(“ 无 名 狗 ” );publicDog(Stringname)this.name=name;publicStringgetName()returnname;publicvoid printName()System.out.println(getName();publicstaticvoidmain(Stringargs)Dog snoppy=newDog(“ 史 努 比 ” );sn
23、oppy.printName();程 序 结 果 为 : Animal 史 努 比2、 public class abc public static void main(String args) SubSubClass x=new SubSubClass(10,20,30);x.show();class SuperClass int a,b;SuperClass(intaa,int bb) a=aa; b=bb; void show() System.out.println(“a=“+a+“nb=“+b); class SubClass extends SuperClass intc;SubC
24、lass(int aa,int bb,int cc) super(aa,bb);c=cc;class SubSubClass extends SubClass int a;SubSubClass(intaa,int bb,int cc) super(aa,bb,cc);a=aa+bb+cc;void show() System.out.println(“a=“+a+“nb=“+b+“nc=“+c); 程 序 结 果 为 : a=60b=20c=303、 以 下 程 序 实 现 了 如 下 图 示 的 计 算 器 界 面 : 将 16个 按 钮 放 置 在 面 板 中 ( 面板 的 布 局 为
25、4*4 的 GridLayout 布 局 ) , 再 将 面 板 放 置 在 框 架 中 的 中 间 ( 框架 布 局 为 缺 省 布 局 BorderLayout) 。 但 还 有 4 处 代 码 并 未 完 成 , 请 你 在答 题 纸 上 完 成 程 序 填 空 。importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassAppMain publicstaticvoidmain(Stringargs) newMyFrame(“计 算 器 “);classMyFrameextendsJFrame JText
26、Field tf_Output=null;/输 出 结 果 文 本 域JPanel p=newJPanel();JButton b=newJButton16;MyFrame(Stringtitle) super(title);【 代 码 1】 this.setBounds(200,190,179,180); /设 置 窗 体 的 位 置 距 离屏 幕 顶 端 距 离 190, 距 离 左 端 200, 高 度 180, 宽 度 179/由 于 JFrame的 缺 省 布 局 为 BorderLayout所 以 不 需 设 置 其 布 局 管 理 方 式 了Containerc=this.get
27、ContentPane();/获 取 当 前 窗 体 对 象 的 内 容 窗 格tf_Output=newJTextField(20);【 代 码 2】 c.add(tf_Output,”North”); /按 照 图 片 提 示 , 将 tf_Output文 本 域 加 入 窗 体 对 应 位 置Stringname=“1“,“2“,“3“,“+“,/第 1 行“4“,“5“,“6“,“-“,/第 2 行“7“,“8“,“9“,“*“,/第 3行“0“,“.“,“=“,“/“,/第 4 行;p.setLayout(new GridLayout(4,4);/设 置 面 板 p 的 布 局 管
28、理 方 式 为 4*4的 网 格 布 局for(inti=0;iname.length;i+) bi=newJButton(namei);p.add(bi);c.add(p,BorderLayout.CENTER);/将 面 板 放 置 在 窗 体 中 的 中 间this.addWindowListener(newWindowAdapter()/侦 听 窗 体 的 关 闭 操 作 ,实 现 关 闭 窗 体 时 退 出 程 序publicvoid 【 代 码 3】 windowClosing(WindowEvente)System.exit(0);ew);【 代 码 4】 this.setVisible(true); /将 窗 体 显 示