CoreJava测试题

更新时间:2024-04-09 09:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CoreJava测试题

班级:____ 姓名:____ 分数:____

一、 单选题

1. J2SE作为一种应用和开发环境,提供了一整套实用工具,其中()是Java语言的编译工具。 A. java B. javadoc C. javap D. javac

2. Java中,以下循环语句的执行次数是。

int x=37; int y=3; while(y<=x){ y*=y; } A. 0 B. 1 C. 2 D. 3

3. 下面Java程序的输出结果是()。

public static void main(String[] args){ final int A=4; int a=2; switch(a*2){

case A : System.out.print (a); default : System.out.println(a*2); } }

A. 2 B. 4 C. 24 D. 报错

4. Java中,类Test定义如下:

class Test{ int m;

public static void fun(),…- }

如果希望fun()方法能够引用成员变量m,那么需要将第2行代码改为()。 A. protected int m; B. public int m; C. static int m; D. private int m;

5. 任何一个Java程序都默认引入了一个包,这个包名是()。

A.

B. C. D.

java.lang java.object java.util java.io

6. Java中默认的处理异常方法为()。

A. 显示异常信息,停止程序运行

B. 显示异常信息,不停止程序运行 C. 不显示异常信息,但停止程序运行 D. 什么都不做

7. Java中,欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的方法是()。 A. ArrayList myList = new Object();

B. List myList = new ArrayList(); C. ArrayList myList = new List(); D. List myList = new List();

8. Java中,在任何方法返回前,绝对要执行的代码应放在()块中。 A. try B. catch C. finally D. throws

9. Java 中,下列哪个方法声明是正确的()。

A. abstract final String doItYourself(){}

B. public abstract doItYourself(){} C. private static void doItYourself(){}

D. public abstract static void doItYourself(){} 10. 下面哪个不属于不受检查异常()。

A. java.lang.ArrayIndexoutofBoundsException B. java.io.IOException

C. java.lang.ArithmeticException D. java.lang.ClassCastException

11. 下列有关stack和queue的说法正确的是( )。

A. stack是先进先出的集合,queue是后进后出的集合。 B. stack是先进后出的集合,queue是先进先出的集合。 C. stack是先进先出的集合,queue是后进先出的集合。 D. stack是后进先出的集合,queue是先进后出的集合。

12. 在一个java源文件中,import,class,package语句的顺序是()。

A. Import class package B. Package class import C. Import package class D. Package import class

13. byte变量的取值范围是()。

A. 0 - 65535 B. -128 – 127 C. -256 – 255 D. 0 – 32767

14. Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?()

A. 安全性 B. 多线性 C. 跨平台 D. 可移植

15. 下列哪个类声明是正确的?()。

A. abstract final class HI{···} B. abstract private move(){···}

C. protected private number; D. public abstract class Car{···} 16. 异常包含下列那些内容?( )。

A. 程序中的语法错误 B. 程序的编译错误

C. 程序执行过程中遇到的事先没有预料到的情况 D. 程序事先定义好的可能出现的意外情况

17. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. .java B. .class C. .html D. .exe

18. 设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是()。

A. 3 B. 3. 5 C. 4 D. 5

19. 不允许作为类的修饰符的是()。

A. public B. private C. static D. final

20. 在Java中,所有类的根类是()。

A. java.lang.Object B. java.lang.Class C. java.applet.Applet D. java.awt.Frame

21. 在读字符文件Employee.dat时,使用该文件作为参数的类是()。

A. BufferReader B. DataInputStream C. DataOutoutStream D. FileInputStream

22. What will be the output when you compile and execute the following program.

public class Base{

static public void main(String[] a) {

System.out.println(6 + 6 + \ } }

Select most appropriate answer. () A. 66(Result) B. 12(Result)

C. Runtime Error.Incompatible type for +. Can't convert an int to a string. D. Compilation Error.Incompatible type for +. Can't add a string to an int. 23. 执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的():

A. x[24]为0 B. x[24]未定义 C. x[25]为0 D. x[0]为空

24. 执行下列代码后,哪个结论是正确的 int[] s=new int[10];

A. s[9] 为 -1

B. s[10] 为 随即数 C. s[0] 为 未定义 D. s.length 为10

25. 在字符串前面加上_____符号,则字符串中的转义字符将不被处理。

A. @ B. \\ C. # D. %

26. 下列代码哪行会出错: ()

1) public void modify() { 2) int I, j, k; 3) I = 100;

4) while ( I > 0 ) { 5) j = I * 2;

6) System.out.println (\ 7) k = k + 1; 8) I--; 9) } 10) } 选项: A. 4 B. 6 C. 7 D. 8

27. 对记录序列{314,298,508,123,486,145}按从小到大的顺序进行插入排序,经过两趟排序后的结果为:

()

A. {314,298,508,123,145,486} B. {298,314,508,123,486,145} C. {298,123,314,508,486,145} D. {123,298,314,508,486,145} 28. Given:

public class Test {

public static void main (String[]args) { String foo = args[1]; String bar = args[2]; String baz = args[3];

System.out.println(“baz = ” + baz); } }

And the output: Baz = 2

Which command line invocation will produce the output?() A. java Test 2222 B. java Test 1 2 3 4 C. java Test 4 2 4 2

D. java Test 4 3 2 1

29. Which create an instance of an array? ()

A. int[] ia = new int [15]; B. float fa = new float [20]; C. char*+ ca = “Some String”;

D. double[] oa = new double{5.5,23.3}; 30. public static void main (String []args) {

int x = 4; int j = 1; switch (x) { case 1: j++; case 2: j++; case 3: j++; case 4: j++; case 5: j++; default:j++; }

System.out.println(j + x); }

What is the output? () A. Value =2 B. Value =7 C. Value =6 D. Value =8

31. 下面哪个表达式的值与数组下标量总数相等?(A. m.length() B. m.length C. m.length()+1 D. m.length+1 32. 下面的哪些声明是合法的?() A. long x1 = 4990; B. int i = 4L; C. float f =1.1; D. double d = 34.4;

33. 选择哪个不是Java语言基本数据类型()

A. byte B. Integer C. String D. char

34. 下列描述中,哪个符合Java语言的特征 ()

A. 支持跨平台(Windows,Linux,Unix等) B. 支持对地址操作

C. 支持类C的指针运算操作

D. 不支持与其它语言书写的程序进行通讯 35. given:

1. public class Test {

2. public static void main(String[] args) {

3. int age = 12; 4. add(age); 5. System.out.println(age); 6. }

7. public static int add(int age) { 8. int result= age + 10; 9. return result; 10. } 11.}

编译并运行上面的代码,下面哪些说法是正确的:( )

A. 编译报错,因为第7行变量age和第3行变量age重复定义了 B. 编译报错,因为第4行调用add方法时没有接受方法的返回值 C. 编译成功,程序运行输出结果为:22 D. 编译成功,程序运行输出结果为:12 36. public class Test { public static void main(String[] args) { int month = 12; //x result = month*3528.50; } } 请从下面选出填写到上面代码标记的//x处,以保证程序不出错。() A. int B. long C. double D. float

37. 运行下面代码输出结果是:() public class Test { public static void main(String[] args) { int num = 10/4; float num2 = 10/4; System.out.println(num); System.out.println(num2); } }

A. 2

2.5 B. 2.5

2.5 C. 2.0

2.0 D. 2

2.0

38. 运行下面代码输出结果是:() public class Test { public static void main(String[] args) { int a = 12,b =20; if(a++==13 && ++b==21){ System.out.println(\

}

}

}

System.out.println(\System.out.println(\

A. a=13

b=20 B. a=13

b=21 C. ok

a=13 b=20 D. ok

a=13 b=21

39. 运行下面代码输出结果是:()

public class Test { public static void main(String[] args) {

int a=1,b=2,c=3; int res =(a++)*(++b)*(--c)+(a--)*(--b)*(c++); System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ } }

A. res=12 a=1 b=1 c=4 B. res=14 a=1 b=2 c=3 C. res=4 a=0 b=3 c=3 D. res=18 a=1 b=3 c=4

40. 以下关于数组的声明,哪项是错误的:()

A. int[] scroe;

B. int[] age=new int[3];

C. float[] pay = new float[3]{1.2f,1.1f,3.4f}; D. double[] salary = {4.5,5.5,2.1}; 41. 编译运行下面的代码,输出结果是: ()

public class Test {

public static void main(String[] args) { int[] scores = {3,2,1,5,2}; int[] bak = scores; bak[3]=100; System.out.println(scores[3]); } } A. 1 B. 0 C. 100 D. 5

42. 编译运行下面的代码,输出结果是: ()

public class Test {

public static void main(String[] args) { int i=10; do{ i++; }while(i<10); System.out.println(i); } }

A. 10 B. 11 C. 20 D. 19

43. double d = 5/2.0;请写出d的值()

A. 2 B. 2.5 C. 3 D. 2.0

44. 执行下面代码后,输出结果是:()

public class Test {

public static void main(String[] args) { int a = 1; for(int i=0;i<3;i++){ for(int j=0;j<3;j++){ a++; } } System.out.println(a); } } A. 3 B. 4 C. 10 D. 9

45. 如下程序:

public class ArugmentTest { static class IntA { private int a; public IntA(int a) { this.a = a; } public int getA() { return a; } public void setA(int a) { this.a = a; } }

static public void change(int a) { a = 3; }

static public void change(IntA a) { a.setA(3);

在控制台上输出的是 ()。 A. 233 B. 333 C. 259 D. 339

46. 程序代码:

public class ExceptionTest{

public double div(double a, double b){ try{

return a/b;

}catch(Exception e){

System.out.println(“Exception thrown”); }finally{

System.out.println(“Release resources.”); } }

public static void main(String[] args){

ExceptionTest et = new ExceptionTest(); et.div(1, 2); et.div(3.4, 0); } }

}

static public void changeRef(IntA a) { a = new IntA(9); }

public static void main(String[] args) { int a = 2; change(a); System.out.print(a); IntA ia = new IntA(5); change(ia); //ia的属性a的值设为3 System.out.print(ia.getA()); changeRef(ia); //对象类型传引用,还原来的对象 System.out.println(ia.getA()); } }

可能产生的结果是 ():

A. 编译不成功 B. 无法运行

C. 程序运行输出为:

Release resources. Exception thrown. Release resources.

47. 根据以下程序选择正确答案():

public class Test { static int total = 10;

public static void main (String args []) { new Test(); }

public Test () { System.out.println(\ System.out.println(this); int temp = this.total; if (temp > 5) { System.out.println(temp); } } }

A. 编译出错 B. 运行时有异常 C.编译运行都正确

48. 编译,运行下列代码后的结果是:() public class Test {

public static void main (String args []) {

int age;

age = age + 1;

System.out.println(\} }

A. 编译,运行后没有输出

B. 编译,运行后输出:The age is 1 C. 能通过编译,但运行时产生错误 D. 不能通过编译

49. 下面那些关键字不是JAVA的关键字 ()

A. If B. Then C. Goto D. while

50. 声明公用的abstract方法的正确格式是 ()

A. public abstract void add(); B. public abstract void add() {} C. public abstract add(); D. public virtual add();

二、 多选题

51. Java中,下列属于合法标志符的是()。

A. _atm B. 2$ C. static D. hello_1

52. Java中,下列定义正确的是()。

A. char c = 'ccc’ B. float f = 0.3 C. long l = 0xfff

D. double d = 0.6E-2

53. 在如下代码中,可能发生的异常有以下,除了哪一项()。

public static void main(String[] args){ Integer n=Integer.parseInt(args[2]); System.out.println(2/n); } A. NumberFormatException

B. ArrayIndexOutOfBoundException C. ArithmeticException D. ClassNotFoundException

54. 哪些方法不可以使线程进入阻塞状态?()

A. sleep

B. 等待IO资源 C. notify D. wait

55. 下面叙述正确的有()。

A. 在一个java源文件中只能定义一个class B. 在一个java源文件中只能定义一个interface C. 在一个java源文件中可以定义多个class D. 在一个java源文件中可以定义多个interface

56. Java程序中程序运行入口方法main的签名正确的有()。

A. public static void main(String args[]) B. static public void main(String[] args) C. public void static main(String[] args) D. public void main(String args[]) 57. 以下属于正确的java注释有()。

A. // This is comment

B. /** This is comment **/ C. /** This is comment*/ D. /* This is comment*/

58. 以下能作为char类型的字面值的有()。

A. “e”

B. ‘f’ C. ‘\%u12’ D. ‘\’

59. 以下返回true的表达式有()。

A. “ge” == “ge” B. “ge” = “ge”

C. “ge”.equals(new String(“ge”)) D. “ge” = new String(“ge”) 60. 下面集合定义正确的有()。

A. String strs[] = {‘a’,’b’,’c’} B. String[] strs = {“a”,”b”,”c”}

C. String[] strs = new String{“a”,”b”,”c”} D. String strs[] = new String[]{“a”,”b”,”c”} E. String[] strs = new String[3]{“a”,”b”,”c”}

三、 判断题

61. Java的基本类型中有String

62. Java语言的标示符是不区分大小写的

63. Java语言为所有的java程序自动导入包”java.lang”,因此java程序可以直接用”java.lang”

中的类和接口。位于类继承关系层次结构树的根部的类Object就在包”java.lang”中的类。 64. 有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。 65. Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),

并且调用父类构造方法的语句必须是子类构造方法的第一行。

66. 创建新的类对象用关键字new,回收无用的类对象使用关键字free。

67. 使用赋值号(等号)相当于创建了一个各属性与赋值实例相同的新实例。 68. 最终类不能派生子类,最终方法不能被覆盖。 69. 一个Java类可以有多个直接父类。 70. 数组声明并不为数组元素分配空间。

四、 填空题

71. Java中有(8)种基本类型,分别是boolean、long、double、int、char、float、()、()。 72. Java中有(2)种异常,分别是()和(),其中()不要求程序员必须处理。

73. Java中创建线程有两种常用的方法,分别是继承自()类及实现()接口,要求重写或

实现()方法。线程启动的时候调用()方法。 74. JFrame默认的布局管理器是(),JPanel默认的布局管理器是(). 75. 获得Class对象的三种方式:()、()和Class类的静态方法()。 76. ()标注表示方法过时。

77. 对象序列化要求必须实现()接口。

78. 集合中()接口的集合不是Collection接口的子接口。 79. Iterator接口的()方法可以移除当前元素。 80. Map的Key是否允许为null。

本文来源:https://www.bwwdw.com/article/ai7r.html

Top