JAVA期末复习资料.pdf_第1页
JAVA期末复习资料.pdf_第2页
JAVA期末复习资料.pdf_第3页
JAVA期末复习资料.pdf_第4页
JAVA期末复习资料.pdf_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

一、单选题 1.下列不可作为 java 语言修饰符的是(D) A)a1B)$1C)_1D)11 2.有一段 java应用程序,它的主类名是 a1,那么保存它的源文件名可以是(A) )a1.javaB)a1.classC)a1D)都对 3.整型数据类型中,需要内存空间最少的是(D) A)shortB)longC)intD)byte 4.Java 中(C) A)一个子类可以有多个父类,一个父类也可以有多个子类 B)一个子类可以有多个父类,但一个父类只可以有一个子类 C)一个子类可以有一个父类,但一个父类可以有多个子类 D)上述说法都不对 5.下列哪些语句关于 Java 内存回收的说明是正确的。(B) A程序员必须创建一个线程来释放内存 B. 内存回收程序负责释放无用内存 C. 内存回收程序允许程序员直接释放内存 D. 内存回收程序可以在指定的时间释放内存对象 6.下面的哪个赋值语句是不对的? ( A) Afloat f = 11.1;Bdouble d = 5.3E12; Cdouble d = 3.14159;Ddouble d = 3.14D; 7.以下由 do-while 语句构成的循环执行的次数是(B)。 int k=0; do +k; while ( k = y 的逻辑值分别为 1 和 0。 Java 的图形界面技术经历了两个发展阶段,分别通过提供 AWT 开发包和 swing 开发包来实现。 2.如果在子类中想使用被子类隐藏了的父类成员变量或方法就可以使用关键字 super。 3.使用关键字 boolean 来定义逻辑变量。 4.在 Java 中,所有类的根类是 java.lang.Object。 5.如果一个 Java 程序文件中定义有 3 个类,编译该源程序文件将产生 3 个文件名与类名相同而扩展 名为.class 的字节码文件。 6.Java 提供了 java.io 包,其中包括一系列的类来实现输入/输出处理。 7.在 Java 的基本数据类型中, char 型采用 Unicode 编码方案, 每个 Unicode 码占用 2 字节内存空间。 8.在 java 语言中,所有的数组都有一个 Length 属性,这个属性存储了该数组的元素的个数(数组 长度) 。 9.一个对象通过调用从 Objecto 类中继承的 toString 方法,可以获得该对象的字符串表示,该字符 串的形式为:对象的类的名字对象的引用地址。 10.“3cat”.matches(dcat)的值是 true。 11.在循环体中,如果想结束本次循环可以用 continue _语句。 12.在循环体中,如果想跳出循环,结束整个循环可以用 break 语句。 13Swing 的事件处理机制包括事件源、事件和事件处理。 14.Java 源文件中最多只能有一个 public 或公共类,其它类的个数不限。 15.如果一个方法被修饰为 final 方法,则这个方法不能被重写。 16.“Look”.equals(“look”)的值是false。 17.创建一个标识有 “关闭” 字样的按钮对象 gb 的语句为 (Buttongb = newButton( “关闭” )。 18.数组声明后,必须使用 new 运算符分配内存空间。 19.类体有两部分构成:一部分是变量的定义,另一部分是方法的定义。 20.抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法。 21.Java 的图形界面技术经历了两个发展阶段,分别通过提供 AWT 开发包和 Swing 开发包来实现。 22.在类方法中只能调用类变量和类方法,不能调用实例方法。 23.Java 中不用修饰的成员变量称为友好变量。 24.访问权限是 private 变量,只能在本类中使用,不能在类外使用。 25.访问权限是 public 变量,不但在本类中使用,还可以在任何另外一个类中使用。 26.访问权限是友好变量,只能在本类和与本类同一个包中的其他类使用。 27.继承是一种由已有的类创建新类的机制。 28.在编写异常处理的 Java 程序中,每个 catch 语句块都应该与 try 语句块对应,使得用该语句块来 启动 Java 的异常处理机制。 29.方法体中抛出异常的关键字是throw。 30.用修饰符 static 说明的成员变量是类变量。 (private 同一个类可以访问,public 是全局都可以访问,子类,同一个包,同一个类都可以访 问),protected 是同一类,同一个包,子类可以访问,无修饰符号是缺省类型-default,可以在同 一个类,同一个包内访问) 31.为了能使用 Java 提供的类,我们可以使用 import 语句来引入所需的类。 32.Object 类有一个 public 方法是_toString,一个对象通过调用该方法可以获得该对象的字符串表 示。 33.在 Java 中,负责对字节代码解释执行的是 Java 虚拟机 jvm。 34.在 Java 中,由 Java 编译器自动导入,而无需在程序中用 import 导入的包是 java.lang。 35.创建可修改的字符串对象,我们会基于(StringBuffer)类来创建。 36.Java 语言的各种数据类型之间提供两种转换:强制转换和自动转换。 37.可以使用 String 类直接调用 valueOf()方法将数值转化为字符串。 38.开发与运行 Java 程序需要经过的三个主要步骤为编辑、编译和运行。 (编辑源程序、编译生成字 节码 和解释运行字节码。.) 39.Java 程序中可以向容器添加组件,一个容器可以使用 add()方法将组件添加到该容器中。 40.创建数组后,系统会给每一个数组元素一个默认的值,如 float 型是 0.0。 41.在 java 程序中,用关键字 final 修饰的常量对象创建后就不能再修改了。 42.若有定义 int a=new int8;则 a 的数组元素中第 7 个元素和第 8 个元素的下标分别是 6 和 7。 43.接口是一种只含有抽象方法或常量的一种特殊抽象类。 44.如果一个类中定义了几个名为 method 的方法,这些方法的参数都是整数,则这些方法的参数个数 必须是不同的,这种现象称为方法的重载。 45.接口体中所有的成员,其访问权限一定是(public)。 46.接口中所有属性均为 public, static 和 final 的。 47.在一个类的内部被嵌套定义的类称为内部类。 48.接口中的方法被默认的访问权限是 public。 49.“RedBird”.indexOf(“Bird”)的值是3。 50.标识符是以字母、下划线、美元符号作为首字母的字符串序列。 51.final 类不能被继承,即不能有子类。 52.javax.swing 包中的 JFrame 类或子类所创建的一个对象就是一个窗口。 53.捕获异常的统一出口通过 finally 语句实现。 54.定义类的构造方法不能有返回值类型,其名称与 类 名相同 55.下列选项中,用于实现接口的关键字是(implements ) 56程序可以处理的异常对应的类是 java.lang.Exception 及其子类。 57.Java 程序中件,一个容器可以使用 add()方法将组件添加到该容器中。 58.成员变量在整个类内都有效, 局部变量只在定义他的方法内有效。 59.同一段程序可能产生不止一种异常。 可以放置多个 catch 子句, 其中每一种异常类型都将被检查, 第一个与之匹配的就会被执行。 60.String 类是不可变类,对象所包含的字符串内容永远不会被改变。 61.在 java 语言中,boolean 型常量只有 true 和 false 两个值。 62.Java 中能够产生事件的对象都可以成为事件源,如文本框、按钮、键盘等。 63.局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字 this。 64.局部变量的名字与成员变量的名字相同,若想在该方法内使用成员变量,必须使用关键字 this。 65.在 java 程序中,把关键字 super()加到方法名称的前面,来实现子类调用父类的方法。 66.使用关键字 interface 来定义接口。 67.异常处理的方法有两种:应用 trycatchfinally 结构对异常进行捕捉和处理、通过 throws 与 throw 语句抛出异常进行处理。 68在 Java 中用关键字 package 来创建包。 69.在 Java 程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。 70.容器里的组件的位置和大小是由布局管理器决定的。 71.创建一个引用名为 button,标识为”计算”的按钮,请写出创建语句。JButton button=new JButton(“计算”。 72.创建一个菜单时,菜单放在菜单条里,菜单选项放在菜单里。 73.在窗口中增加菜单条,必须使用Frame类中的方法:setMenuBar(Menubar)。 74.Java.awt 包中的Menu类是负责创建菜单的。它的一个实例就是一个菜单。 75.在 Menu 类的方法中,add(Strings)方法是向菜单增加指定的选项。 76.在 Menu 类的方法中,getItem(intindex)方法是得到指定索引处的选项。 77.在 Menu 类的方法中,getItemCount( )方法是得到菜单选项的数目。 78.在 Menu 类的方法中,remove(intindex)方法是删除菜单的指定位置的菜单选项。 79.在 Menu 类的方法中,removeAll( )方法是删除菜单的所有选项。 80.Java.awt 包中的MenuItem类是负责创建菜单项的,它的一个实例就是一个菜单项。 三、程序填空题 1. 按注释说明,在下划线处填入正确的语句 public class Exam3 public static void main(String args) byte d=“How are you“.getBytes(); System.out.println(“数组d的长度是:“+ _); String s=_; /用字节数组构造字符串。 System.out.println(s); /输出:How are you 2. 已知 3*3 矩阵如下 : 123 456 789 假设(159)为该矩阵的正对角线。以下程序是求该矩阵的正对角线的值的和。请完成程序。 public class Test public static void main(String args) int i, j, sum = 0; int count = 1; int a = new int33; for (i = 0; i 3; i+) for (j = 0; j 3; j+) aij =count; / 初始化数组 count+; /打印二维数组 for (i = 0; i 3; i+) for (j = 0; j 3; j+) System.out.print(aij+ “ “); System.out.println(“ “); /显示对角线之和 for (i = 0; i 3; i+) sum =sum+aii; System.out.println(“对角线之和:“ + sum); 3. 下面程序决断用户从键盘输入的字符序列是否全部由英文字母组成,请填空。 import java.util.Scanner; public class E public static void main (String args ) String regex = “a-zZ-Z+“; Scanner scanner = new Scanner(System.in);/从键盘输入文本。 String str = scanner.nextLine(); if(str.matches(regex)/字符串分析是否全部由英文字母组成。 System.out.println(str+“中的字符都是英文字母“); 4. 如下 java 源程序文件中,程序的功能是在数组中查找键盘键入的整数。如果找到则输出该整数在 数组中的序号,否则输出“not found” 。例如,运行程序,输入 99,程序输出:99 在数组中的序号 是 5;输入 59,程序输出:not found。请仔细阅读程序,补充相应的语句,使整个程序能够正常运 行。 (注意: 不改动程序的结构,不得增行或删行) 【程序代码】 import java.io.*; import java.util.Scanner; public class J_Test public static void main(String args) throws IOException int a= 83,75,92,67,55,99,78,61; Scanner in = new Scanner(System.in); int x = Integer.parseInt(in.readLine(); int index = -1; for(int i = 0; i8; +i) if(ai = x) index = i; break; if(index = -1) System.out.println(“not found“); else System.out.println(x + “在数组中的序号是“ + index); 四、简答题: 1、在继承关系中,方法的重写要遵循“两同两小一大”规则,简述两同两小一大原则的含义。 参考答案:“两同”即方法名相同、形参列表相同,“两小”指的是子类方法返回值类型应比父类方 法返回值类型更小或相等,子类方法声明抛出的异常应比父类方法声明抛出的异常类更小或相等。 “一大”指的是子类方法的访问权限应比父类方法更大或相等。 2、子类继承父类的哪些成员变量和方法?子类在什么情况下隐藏父类的成员变量和方法?在子类中 是否允许有一个方法和父类的方法名字相同,而类型不同? 参考答案:子类和父类在同一个包中时,子类可以继承父类的除private属性的所有方法和成员变 量,当子类与 父类不在同一个包中时,子类只能继承父类的protected和public属性的成员变量和方法。 子类中定义的成员变量和父类中的成员变量同名时,子类就隐藏了继承的成员变量;子类中定义一 个方法,并且这个方法的名字、返回类型、参数个数和类型与从父类继承的方法完全相同,子类就隐 藏从父类继承来的方法(方法的重写)。 在子类中允许有一个方法和父类的方法名字相同而类型不同。 3、下列代码是否可以编译成功?由此得出的结论是什么? class Animal public void eat() throws IOException System.out.println(“Animal is eating.“); throw new IOException(); class Horse extends Animal public void eat() throws Exception System.out.println(“Horse is eating.“); throw new Exception(); 答案:不能 结论:重写方法 子类不能抛出比父类更为广泛的异常,及异常范围不能扩大 4、下列代码输出结果为?由此得出的结论是什么? class Animal public static void eat() System.out.println (“Animal is eating.“); class Horse extends Animal public static void eat() System.out.println (“Horse is eating.“); public class Hidden public static void main(String args) Animal h = new Horse(); h.eat(); 答案:Animal is eating. 结论:静态方法和所属的类进行绑定,实例方法和所属的对象进行绑定 5、如果在某个方法中访问名为a的变量,简述系统查找变量a的顺序 参考答案:先查找本方法中是否有a局部变量,再查找当前类中是否有a的成员变量,最后查找当前类 的直接父类中是否包含a成员变量,依次上溯到间接父类,直到java.lang.Object类,如果最终不能 找到,则系统出现编译错误。 6、下列代码的输出结果是什么?原因是什么? StringBuffer sb1 = new StringBuffer(“a“); StringBuffer sb2 = new StringBuffer(“a“); System.out.println(sb1.equals(sb2); String s1 = new String(“a“); String s2 = new String(“a“); System.out.println(s1.equals(s2); 答案:false true StringBuffer类中没有重新定义equals这个方法,而String类中重新定义了equals这个方法。 五、编程题 1、请写出完整的程序代码,定义一个类,类名为 Test,求 1 到 10 的阶乘 publicclass Test public static void main(String argv) long result =1; for(int i =1;i=10;i+) result = result*i; System.out.println(“1 到 10 的阶乘是: ”+result); 2、请写出完整的程序代码,类名为 Test,利用 for 语句打印九九乘法表。 public classTest public static void main(String argv) long result =1; for(int i =1;i=9;i+) for(int j=1;j=i;j+) result = i*j; System.out

温馨提示

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

评论

0/150

提交评论