Java期末考试习题库(选择题+填空题+改错题学生)

更新时间:2023-12-25 13:37:01 阅读量: 教育文库 文档下载

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

一、选择题

1、下面关于变量及其作用范围的陈述哪个是不对的?(B ) A.实例变量是类的成员变量。

B.实例变量用关键字static声明。

C.在方法中定义的局部变量在该方法被执行时创建。 D.局部变量在使用前必须被初始化。

2、下面哪条语句把方法声明为抽象的公共方法?( B )

A.public abstract method(); B.public abstract void method(); C.public abstract void method(){}

D.public void method() extends abstract;

3、哪个是将一个十六进制值赋值给一个long型变量?( D )

A.long number = 345L; B.long number = 0345; C.long number = 0345L; D.long number = 0x345L;

4、下面的哪个赋值语句是不对的?( A )

A.float f = 11.1;

B.double d = 5.3E12; C.double d = 3.14159; D.double d = 3.14D;

5、下面哪个是不合法的标识符?( C )

A.$persons; B.TwoUsers; C.*point; D._endline;

6、若在某一个类定义中定义有如下的方法: final void aFinalFunction( ); 则该方法属于( C )。

A、本地方法 B、静态方法 法的( B )。 A、 public static void main()

B、 public static void main(String[ ] args) C、 public static int main(String[ ] args) D、public void main(String arg[ ])

8、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 10、以下代码段执行后的输出结果为( C )。

int x=-3; float y=10.0f; System.out.println(y%x);

1

C、最终方法 D、抽象方法

7、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合

A、不能成功编译 B、-1.0 C、1.0 D、-1 11、下列关于构造方法的叙述中,错误的是( C ) A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明 C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

12、关于被私有访问控制符private修饰的成员变量,以下说法正确的是(C )

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、

在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问

13、执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( A A.x[9]为0 B.x[9]未定义 C.x[10]为0 D.x[0]为空

14、类Test1定义如下:

1. public class Test1{

2. public float aMethod(float a, float b){ } 3. 4. }

将以下哪种方法插入行3是不合法的。( B )

A、public float aMethod(float a, float b,float c){ } B、public float aMethod(float c,float d){ } C、public int aMethod(int a, int b){ } D、private float aMethod(int a,int b,int c){ }

15、阅读以下代码: public class foo{

public static void main (String[] args){ String s;

System.out.println(\} }

输出结果应该是:( C )

A.代码得到编译,并输出“s=” B.代码得到编译,并输出“s=null”

C.由于String s没有初始化,代码不能编译通过

D.代码得到编译,但捕获到 NullPointException异常

2

16、下述概念中不属于面向对象方法的是( D )。

A.对象、消息 B.继承、多态 C.类、封装 D.过程调用 17、编译并运行以下程序,以下描述哪个选项是正确的( A )。

1. class A{

2. protected String toString(){ 3. return super.toString();}

4. }

A、行2出错,不能成功编译 B、编译通过但运行时出错

C、编译通过运行无异常

D、不能成功编译,行3出错

18、假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个 是错误的?( A ) public class Foo { int i; static String s; void imethod() { } static void smethod() { }

}

A、Foo.imethod();

B、f.imethod();

C、System.out.println(f.i); D、Foo.smethod() 19、以下哪个接口的定义是正确的?( D )

A、 interface A

{ void print() { } ;} B、 abstract interface A

{ void print() ;}

C、 abstract interface A extends I1, I2 // I1、I2为已定义的接口

{ abstract void print(){ };} D、 interface A

{ void print();}

20、关于以下程序段,正确的说法是( C )

1. String s1=“a”+“b”;

2. String s2=new String(s1); 3. if(s1==s2)

4. System.out.println(“= = is succeeded”); 5. if (s1.equals(s2))

6. System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行 B.行4执行,行6不执行C.行6执行,行4不执行 D.行4、行6都不执行 21、下列哪些标识符是不合法的?( B )

3

A: _underscore B: 5Intel C: Intel5 D: $value$

22、对数组的定义及初始化不正确的方法是:( B ) A.int array[]; B. int array[8];

C.int[] array=new int[8]; D. int array[]=new int[8]; 23、下面哪个表达式正确?( D )

A.float f=1.3; B.char c=\ C.byte b=257; D.int i=10; 24、下面程序运行结果为:( D,如果输出count则为A )

public class test3

{public static void main(String args[]) { int count=0;

for (int i=0;i<=100;i++) count+=count++; } }

A 0 B 7 c 编译有错误 D 其他答案 25、下面哪个函数是public void aMethod(){...}的重载函数?( D ) A、void aMethod( ){...}

B、public int aMethod(){...} C、public void aMethod ( ){...} D、public int aMethod ( int m){...}

26、下面关于继承的哪些叙述是正确的? ( D ) A.在java中允许多继承。

B. 在java中一个类只能实现一个接口。

C. 在java中一个类不能同时继承一个类和实现一个接口。 D. java的单一继承使代码更可靠。

27、关于length()这个方法的表述正确的是哪个? ( C )

A.数组有length()这个方法,string也有length()这个方法。 B.数组有length()有这个方法,string没有length()这个方法。

C.数组没有length()这个方法,string有length()这个方法。 D.数组没有length()这个方法,string也没有length()这个方法。 28、运行下面程序段的结果是:( C )。

public class MyMain{

public static void main(String args){ System.out.println(“Hello Java”); } }

A.正常输出Hello Java B.编译时出错 C.运行时出错 D. 以上答案都不对

4

29、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择(A )。 A)最大的

B)最小的

C)任意的

D)头上的

30、关于以下程序段,正确的说法是( C )。

1. String s1=“x”+“y”;

2. String s2=new String(s1); 3. if(s1==s2)

4. System.out.println(“= = is succeeded”); 5. if (s1.equals(s2))

6. System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行 B.行4执行,行6不执行 C.行6执行,行4不执行 D.行4、行6都不执行 31、类与对象的关系是( A )。 A. 类是对象的抽象 B. 类是对象的具体实例 C. 对象是类的抽象 D. 对象是类的子类

32、下列关于修饰符混用的说法,错误的是( D ) A. abstract不能与final并列修饰同一个类 B. abstract类中不可以有private的成员 C. abstract方法必须在abstract类中 D. static方法中能处理非static的属性

33、编译并运行下述程序段的结果是:( B )。

public class Test{

public static void main(String argv[]){ int[] count = new int[4];

System.out.println(count[4]);

} }

A.编译时错误 B.运行时错误 C.输出0 D.输出null

34、下面是有关子类继承父类构造函数的描述,其中正确的是( B )。

A.创建子类的对象时, 先调用子类自己的构造函数,然后调用父类的构造函数。 B.子类无条件地继承父类不含参数的构造函数。 C.子类必须通过super关键字调用父类的构造函数。 D.子类无法继承父类的构造函数。 35、下列类的定义中,错误的是( C )。 A. class x { .... }

5

B. public x extends y { .... } C.public class x extends y { .... } D. class x extends y implements y1 { .... }

36、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C ) class A { int i; static String s; void method1() { } static void method2() { } }

A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2()

38、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C class A { int i; static String s; void method1() { } static void method2() { } }

A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2() 39、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A(); 2. A a1 =new B(); 3. A a2=new C();

问以下哪个说法是正确的? ( D ) A、只有第1行能通过编译

B、第1、2行能通过编译,但第3行编译出错

C、第1、2、3行能通过编译,但第2、3行运行时出错 D、第1行、第2行和第3行的声明都是正确的 40、以下哪个接口的定义是正确的?( D ) A、 interface B

{ void print() { } ;} B、 abstract interface B { void print() ;}

C、 abstract interface B extends A1,A2 //A1、A2为已定义的接口 { abstract void print(){ };} D、 interface B

{ void print();}

41、下面的哪个赋值语句是正确的?( D ) A、 short myshort=99s; B、 String name=?Excellent?; C、 char c=17c; D、 int z=015;

) 6

42、下面哪个不是Java的保留字或关键字?( B ) A、 default B、 NULL C、 throws D、 long

43、下面哪个是Math类中正确的方法?( A ) A、 random() B、 Random() C、 square() D、 sqr()

44、编译并运行以下程序段的结果是:( ) public static void main(String args[ ]){

Frame f=new Frame (“Visual”); f.setSize(300,300); f.setVisible(true);

Point p=f.getLocation();

System.out.println(“x is ”+ p.x); System.out.println(“y is ”+ p.y); }

A、x is 300 y is 300 B、x is 0 y is 0 C、x is 0 y is 300 D、x is 300 y is 0

45、下面哪个不是Thread类的方法?( C )A、 yield()

B、 sleep(long msec) C、 go() D、 stop()

46、下面哪个不是Collection接口的方法?( D A、 iterator B、 isEmpty C、 toArray D、 setText

47、下面哪个不是String类的方法?( C ) A、 subString()

7

B、 startsWith() C、 toString()

D、 toUpperCase()

48、 编译并运行以下程序段的结果是:( A i是final ) public class MyClass{

final static int i; MyClass(){i =0;}

public static void main(String args[]){ System.out.println(i); } }

A、 编译出错 B、 null C、 1 D、 0

49、下面哪条语句是正确的?( D )

A: short snum = 99s;

B: String name = ?Class Name is: 03076?; C: char c = 17c; D: float f = 3.4f;

50、下面哪个语句(初始化数组)是不正确的:( A: int x[] = {1,2,3}; B: int x[3] = {1,2,3}; C: int[] x = {1,2,3};

D: int x[] = new int[]{1,2,3}; 51、下面方法中的“返回类型Type”应该是什么?public class ReturnIt{

returnType methodA(byte x, double y){ return (short)x / y * 2; } }

A. double

B. int

C. byte 52、下面哪一个表达式是正确的? ( C )

B )

D. short

8

( D )

A、 byte=128; B、 Boolean=null; C、 long l=0xfffL; D、 double=0.9239d;

53、下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的?( C ) A、public

B、private

C、static

D、final

54、下面关于java中类的说法哪个是不正确的?( C ) A、类体中只能有变量定义和成员方法的定义,不能有其他语句。 B、构造函数是类中的特殊方法。

C、类一定要声明为public的,才可以执行。 D、一个java文件中可以有多个class定义。 55、下列哪个类声明是正确的? ( D ) A、 abstract final class H1{?} B、 abstract private move(){?} C、 protected private number; D、 public abstract class Car{?}

56、方法重载是指 (A )

A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同

B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的方法名字不同,但形参的个数或类型相同

D.两个以上的方法取相同的方法名,并且方法的返回类型相同 59、哪个布局管理器使用的是组件的最佳尺寸? ( A ) A. FlowLayout B. BorderLayout C. GridLayout

D. CardLayout

60、Frame的默认的布局管理器是下列哪一个? ( B )

9

A.FlowLayout C.GridLayout B.BorderLayout D.CardLayout

61、下列哪个用户图形界面组件在软件安装程序中是常见的? ( B ) A.滑块

B.进度条

C.对话框

D.标签

62、 包含可单击按钮的类的Java类库是哪个? C A.AWT

B.Swing

C.二者都有

D.二者都没有

63、下面的哪个用户界面组件不是容器? ( D ) A. JScrollPane B. JFrame C. JWindows D. JScrollBar

64、在下列事件处理机制中哪个不是机制中的角色? ( C ) A. 事件 B. 事件源

C. 事件接口 D. 事件处理者

65.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ( B ) A、 ArrayList myList=new Object(); B、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List myList=new List(); 67.指出正确的表达式 ( C ) A、 byte=128; B、 Boolean=null; C、 long l=0xfffL; D、 double=0.9239d;

68.指出下列程序运行的结果 ( B ) public class Example{

String str=new String(\ char[]ch={'a','b','c'};

public static void main(String args[]){

10

Example ex=new Example(); ex.change(ex.str,ex.ch);

System.out.print(ex.str+\ Sytem.out.print(ex.ch); }

public void change(String str,char ch[]){ str=\ ch[0]='g'; } }

A、 good and abc B、 good and gbc C、test ok and abc D、 test ok and gbc

69.运行下列程序, 会产生什么结果 ( A 应该是runnable ) public class X extends Thread implements Runable{ public void run(){

System.out.println(\ }

public static void main(String args[]) {

Thread t=new Thread(new X()); t.start(); } }

A、 第一行会产生编译错误 B、 第六行会产生编译错误 C、 第六行会产生运行错误 D、 程序会运行和启动

71.容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( B ) A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout

72.给出下面代码: public class Person{

static int arr[] = new int[10];

public static void main(String a[])

11

{

System.out.println(arr[1]); } }

那个语句是正确的? ( C ) A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误; C 、输出零; D、 输出空。

74.下列哪些语句关于内存回收的说明是正确的? ( D ) A、 程序员必须创建一个线程来释放内存; B、 内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

75.下列代码哪几行会出错: ( C ) 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、 line 4 B、 line 6 C、 line 7 D、 line 8

76.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。 ( D )

A、 public int MAX_LENGTH=100; B、 final int MAX_LENGTH=100;

C、 final public int MAX_LENGTH=100; D、 public final int MAX_LENGTH=100.

77.给出下面代码:

1) class Parent {

2} private String name;

12

3} public Parent(){} 4} }

5) public class Child extends Parent { 6} private String department; 7} public Child() {}

8} public String getValue(){ return name; } 9} public static void main(String arg[]) { 10} Parent p = new Parent(); 11} } 12} }

那些行将引起错误? ( D ) A、 第3行 B、 第6行 C、 第7行 D、 第8行

78.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s;

//p, t and s are all non-null.

if(t instanceof Person) { s = (Student)t; } 最后一句语句的结果是: ( D ) A、 将构造一个Student对象; B、 表达式是合法的; C、 表达式是错误的;

D、 编译时正确,但运行时错误。

79.给出下面代码段

1) public class Test { 2} int m, n;

3} public Test() {}

4} public Test(int a) { m=a; }

5} public static void main(String arg[]) { 6} Test t1,t2; 7} int j,k; 8} j=0; k=0;

9} t1=new Test(); 10} t2=new Test(j,k); 11} } 12} }

哪行将引起一个编译时错误?( D ) A、 line 3 B、 line 5

13

C、 line 6 D、 line 10

80.对于下列代码: 1) class Person {

2} public void printValue(int i, int j) {//... } 3} public void printValue(int i){//... } 4} }

5) public class Teacher extends Person { 6} public void printValue() {//... } 7} public void printValue(int i) {//...} 8} public static void main(String args[]){ 9} Person t = new Teacher(); 10} t.printValue(10); 11} }

第10行语句将调用哪行语句? ( D ) A、 line 2 B、 line 3 C、 line 6 D、 line 7

81.哪个关键字可以抛出异常? ( C ) A、 transient B、 finally C、 throw D、 static

82.Main()方法的返回类型是: ( B ) A、 int B、 void C、 boolean D、 static

83.System类在哪个包中? ( D ) A、 java.util B、 java.io C、 java.awt D、 java.lang

84.对于下列代码:

public class Parent {

public int addValue( int a, int b) { int s; s = a+b;

14

return s; } }

class Child extends Parent { }

下述哪些方法可以加入类Child? ( C )

A、 int addValue( int a, int b ){// do something...}

B、 public void addValue (int a, int b ){// do something...} C、 public int addValue( int a ){// do something...}

D、 public int addValue( int a, int b )throws MyException {//do something...}

85.给出下面代码:

public class test{

static int a[] = new a[10];

public static void main(String args[]) { System.out.println(arr[10]); } }

那个选项是正确的? ( C )

A、 编译时将产生错误;

B、 编译时正确,运行时将产生错误; C、 输出零; D、 输出空。

86.下面哪些选项是正确的main方法说明? ( B ) A、 public main(String args[])

B、 public static void main(String args[]) C、 private static void main(String args[]) D、 void main()

87.给定下面的代码片段: 1) String str = null;

2) if ((str != null) && (str.length() > 10)) { 3} System.out.println(\ 4} }

5) else if ((str != null) & (str.length() < 5)) { 6} System.out.println(\ 7} }

8) else { System.out.println(\哪些行会导致错误? ( C ) A、 line 1 B、 line 2 C、 line 5

15

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

Top