1、 http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案JAVA 语言程序设计考试试题及部分答案一、单选题:(每题 1 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1下列语句序列执行后,k 的值是( B )。 int m=3, n=6, k=0; while( (m+) j ) i-; else j-; A) 15 B) 16 C) 7 D) 89下列语句序列执行后,k 的值是( C )。 http:/ 免费提供各种资格考试真题、模拟题、练习题、精
2、选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案int i=10, j=18, k=30; switch( j - i ) case 8 : k+; case 9 : k+=2; case 10: k+=3; default : k/=j; A) 31 B) 32 C) 2 D) 3310下面语句执行后,i 的值是( B )。 for( int i=0, j=1; j y | x z B) x != y C) z ( y + x ) D) x 3 ); A) 16 B) 8 C) 4 D) 213以下由 for 语句构成的循环执行的次数是( B )。 for (
3、int i = 0; true ; i+) ; A) 有语 法错,不能 执行 B) 无限次 C) 执行 1 次 D) 一次也不执行14定义类头时能使用的修饰符是(C )。 A) private B) static C) abstract D) protected15设 int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值, 正确的 switch 语句是 D )。 A) switch (x + y) B) switch ( ch + 1 ) . . C) switch ch D) switch ( a + b ); . . 16. 下列最终属性 i 的定
4、义中,正确的是 ( )。 http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案A) static final int i=100; B) final int i=1.2; C) final i=w; D) final char i;17. 下列类定义中,不正确的是(C )。 A) class x . B) class x extends y . C) static class x implements y1,y2 . D) public class x extends Applet . 18. 设 x、 y 为
5、已定义的类名,下列声明 x 类的对象 x1 的语句中正确的是( )。 A) static x x1; B) public x x1=new x(int 123); C) y x1; D) x x1=x( );19. 设 i、j、k 为类 x 中定 义的 int 型变量名,下列类 x 的构造函数中不正确的是(B )。 A) x( int m) . B) void x( int m) . C) x( int m, int n) . D) x( int h,int m,int n) . 20. 下列方法定义中,正确的是( A )。 A) int x( ) char ch=a; return (int
6、)ch; B) void x( ) .return true; C) int x( ) .return true; D) int x( int a, b) return a+b; 21. 用于定义类成员的访问控制权的一组关键字是( D )。 A) class, float, double, public B) float, boolean, int, long C) char, extends, float, double D) public, private, protected 22. 不能构成循环的语句是( C )。 A) for 语句 B) while 语句 C) switch 语句
7、D) do_while 语句23. 下列程序段执行后 b3 的结果是( D )。 boolean b1=true, b2, b3; 24= b1 ? b1 : b2; A) 0 B) 1 C) true D) false25 下面数据结构中,属于非线性的是( B )。 http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案A) 线性表 B) 树 C) 队列 D) 堆栈11. 设有定义 int i=123; long j=456; 下面赋值不正确的语句是( D )。 A) j=i; B) j=(long)i; C)
8、 i=(int)j; D) i=j;二、填空题:(每空 1 分) 1. 构造函数_没_有返回值。 2. Java 语言中的浮点型数据根据数据存 储长度和数 值精度的不同,进一步分为 float和 _ double _两种具体类型。 3. 创建类对象的运算符是_ new。 4. 当整型变量 n 的值不能被 13 除尽时,其 值为 false 的 Java 语言表达式是_n%13=0_ 。 5. 在 Java 语言中,所有的数 组都有一个 lenght 属性,这个属性存储了该数组的_元素个数。 6. 定义类就是定义一种抽象的_父类_,它是所有具有一定共性的对象的抽象描述。 7. 在 Java 语言
9、中,使用_平台无关_、_java 虚拟机_等技术,实现软件重用。 8. 表达式 3/6 * 5 的计算结果是_0_ 。 9.下面是一个类的定义: public class _int Myclass_ int x, y; Myclass ( int i, _=0_) / 构造函数 x=i; y=j; 10.下面是一个 Java Application 的主类的定义,其功能是输出所有命令行参数。 import java.io.*; public class MyClass http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精
10、选题及答案public static void main(String args ) if( args.length !=_0_) for(int i=0; i xj+1) w=xj; xj=xj+1; xj+1=w; /* if(i=1|i=2) ShowArray(x); if(i=2) break; */ public static void ShowArray(int b) for(int i=0; iy; System.out.println(“xy=“+flag); flag=zw; System.out.println(“zw=“+flag); 四、问答题:(每题 5 分, )
11、1. Java 的接口和 C+的虚 类的相同和不同处。 由于 Java 不支持多继 承,而有可能某个 类或对 象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个 类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是 public static,所有方法默认情况下是 public.一个类可以实现多个接口。 2. 垃圾回收的优点和原理。并考虑 2 种回收机制。 Java 语言中一个 显著的特点就是引入了垃圾回收机制,使 c+程序员最头疼的内http:/ 免费提供各种资格
12、考试真题、模拟题、练习题、精选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案存管理的问题迎刃而解,它使得 Java 程序员在编写程序的 时候不再需要考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有“ 作用域“的概念,只有对象的引用才有“ 作用域“ 。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 3,
13、谈谈 final, finally, finalize 的区别。 Final修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract 的,又被声明为 final的。将变量或方法声明为 final,可以保 证它们在使用中不被改 变。被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明 为 final 的方法也同样只能使用,不能重载。 Finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进
14、入 finally 块(如果有的话)。 Finalize方法名。Java 技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定 义的,因此所有的 类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 4,数组有没有 length()这个方法? String 有没有 length()这个方法?举例说明使用方法? 数组没有 length()这个方法,有 lengt
15、h 的属性。 String 有有 length()这个方法。 5. Java 中的异常处理机制的 简单原理和应用。 当 JAVA 程序违反了 JAVA 的语义规则时, JAVA 虚拟机就会将发生的错误表示为一个异常。违反语义规则包括 2 种情况。一种是 JAVA 类库内置的语义检查。例如数组下标越界,会引发 IndexOutOfBoundsException;访问 null 的对象时会引发 http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案http:/ 免费提供各种资格考试真题、模拟题、练习题、精选题及答案NullPointerException.另一种情况就是 JAVA 允
16、许程序 员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用 throw 关键字引发异常。所有的异常都是 java.lang.Thowable 的子类。 五、程序设计:(每题 11 分,共 33 分) 1、编程:编写一个截取字符串的函数, 输入为一个字符串和字节数, 输出为按字节截取的字符串。 但是要保证汉字不被截半个,如 “我 ABC“4,应该截为“我 AB“,输入“我 ABC 汉 DEF“,6,应该输出为“ 我 ABC“而不是“我 ABC+汉的半个“ 。 2、编程求解:所有两位整数能被 3 整除的数的和,以及不能被 3 整除的数的各位数字之和。 3、设计一个程序求解 e 的值。
17、精度达到 1.0e-6, 4、请设计一个对 N 个数进 行排序的程序一、选择题(每道题只有一个正确答案,每小题 2 分,共 30 分)15 道题1、关于 Java 语言叙述错误的是:( C )AJava 语言具有跨平台性BJava 是一种面向对象的语言CJava 语言中的类可以多继承DJava 的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:( B )的确台 aA构造方法必须是 public 方法Bmain 方法必 须是 public 方法CJava 应用程序的文件名可以是任意的D构造方法应该声明为 void 类型3、关于 Java 中数据类型叙述正确的是:( B )A、整型数据在不同平台下 长度不同Bboolean 类型数据只有 2 个值,true 和 falseC数组属于简单数据类 型DJava 中的指针类型和 C 语言的一样4、设 int x=1,float y=2,则表达式 x / y 的值是:( D )