Java选择题

发布时间:2020-08-24 05:42:22   来源:文档文库   
字号:

Java练习题

单选题

1. Java程序的执行过程中用到一套JDK工具,其中java.exe是指 B

A. Java文档生成器          B. Java解释器

C. Java编译器            D. Java类分解器

2. 编译Java程序的命令文件名是 B

A. java.exe B. javac.exe

C. javac D. appletviewer.exe

3. 编译Java程序file.java后生成的程序是 C

A. file.html B. File.class

C. file.class D. file.jar

4. Java语言与其他主要语言相比较,独有的特点是 C

A. 面向对象 B. 多线程 C. 平台无关性 D. 可扩展性

5. 声明Java独立应用程序main()方法,正确表达是( A

A. public static void main(String[] args){…}

B. private static void main(String args[]){…}

C. public void main(String args[]){…}

D. public static void main(){…}

6. 列有关Java语言的叙述中,正确的是( B )。

A. Java是不区分大小写的 B. 源文件名与public类型的类名必须相同

C. 源文件扩展名为.jar D. 源文件中public类的数目不限

7. Java用来定义一个新类时,所使用的关键字为 A )。

A. class B. public C. struct D. class struct

8一个可以独立运行的Java应用程序 D

A. 可以有一个或多个main方法 B. 最多只能有两个main方法

C. 可以有一个或零个main方法 D. 只能有一个main方法

9. 下面哪个是Java语言中正确的标识符 B

A. 3D B. $this C. extends D. implements

10. 下面哪个不是Java的保留字或关键字? B

A. default B. NULL C. throws D. long

11. if句型括号中的表达式,下列Java类型中哪一个是合法的? C

A. byte B. short

C. boolean D. Object reference

12. Java中整型包括 D

A. intbytechar B. intshortlongbytechar

C. intshortlongchar D. intshortlongbyte

13. 哪个是将一个十六进制值赋值给一个long型变量? D

A. long number = 345L; B. long number = 0345;

C. long number = 0345L; D. long number = 0x345L;

14. 下面的哪个赋值语句是不对的? A

Afloat f = 11.1; Bdouble d = 5.3E12;

Cdouble d = 3.14159; Ddouble d = 3.14D;

15. 下列哪个数代表八进制整数?( D

A. 0XA6 B. -1E3 C. 1840 D. 0144

16. Java 表示换行符的转义字符是 A

A. '\n’ B. '\f' C. 'n' D. \dd

17. 下列代码真正出错的在那一行: 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 (" The value of j is " + j );

7) k = k + 1;

8) I--;

9) }

10}

A. line 4 B. line 6 C. line 7 D. line 8

18. 以下代码段执行后的输出结果为( C )。(符号随被除数)

int x=-3; float y=10.0f;

System.out.println(y%x);

A. 不能成功编译 B. -1.0 C. 1.0 D. -1

19. 执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的( A 

Ax[9]0  Bx[9]未定义  Cx[10]0  Dx[0]为空

20. 对数组的定义及初始化不正确的方法是:(  B 

  Aint array[];                           Bint array[8];  

  Cint[] array=new int[8];         Dint array[]=new int[8];

21. 下面哪条语句定义了5个元素的数组( A

A. int [] a={22,23,24,25,12}; B. int a []=new int(5);

C. int [5] array; D. int [] arr;

22. 定义一维数组名为 abc时,下面哪项可以得到数组元素的个数( B)

A.abc.length( ) B.abc.length C.len(abc) D.ubound(abc)

23. 设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是 C

A. 定义了一个名为a的一维数组 B. a数组有3个元素

C. a数组的下标为13 D. 数组中的每个元素是整型

24. 根据下面给出的代码,判断那个叙述是对的? C p29

public class Person{

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

public static void main(String a[]){

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

}

}

A.编译时将发生错误 B.编译时正确但是运行时出错

C.输出为0 D.输出为null

25.以下程序执行完后cresult的值是 A

   boolean a=false;

   boolean b=true;

   boolean c=(a&&b)&&(!b)

   int result=c==false?1:2;

A. c: false; result:1; B. c: true; result:2;

C. c: true; result:1; D. c: false; result:2;

26. 代码Green eggs”+“Ham”的结果是什么 C

A. Green eggs+Ham B. Green eggs Ham

C. Green eggsHam D. Error

27. 下面哪个是对字符串String的正确定义 A

A.String s1=null; B.String s2=’null’ ;

C.String s3=(String) ‘abc’ ; D.String s4=(String) ‘\uface’;

28. 给出下面一段程序,选择运行结果( C

public class X{

public static void main(String [] args){

String names[]=new String[5];

for(int x=0; x x++) names[x]=args[x];

System.out.println(names[2]);}

}

命令行执行java X a b命令后,其输出结果是下面哪一个?

A. names B. b C. null D. 运行出现异常

29. 哪种方法返回String中的字符数?( B )。

A. size() B. length() C. width() D. girth()

30. 下面哪个不是String类的方法? C

A. subString() B. startsWith() C. toString() D. toUpperCase()

31. 关于以下程序段正确的说法是 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. 46都不执行

32. 下面关于java中类的说法哪个是不正确的? C

A. 类体中不仅可以有变量定义和成员方法的定义,还可包含静态代码块

B. 构造方法是类中的特殊方法。

C. 类一定要声明为public的,才可以执行。

D. 一个java文件中可以有多个class定义。

33. 下面关于变量及其范围的陈述哪个是不对的?( B

A.实例变量是类的成员变量

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

C.在方法中定义的局部变量在该方法被执行时创建

D.局部变量在使用前必须被初始化

34. 下列类的定义中,错误的是( B )。

A. class x { .... } B. public x extends y { .... }p66

C. public class x extends y { .... }

D. class x extends y implements y1 { .... }

35. 下面是程序ObjectText.java的代码段:

class Empty{}

public class ObjectTest{

public static void main(String[] args){

Empty em=new Empty();

}

}

以下错误的结论是( A )。

A. Empty是空的,既没有成员变量也没有成员方法

B. Empty非空,有一个默认的构造方法

C.类Empty中有一个构造方法Empty()

D.类Empty能够被继承

36. 下列应用程序打印多少行 D

public class hellotest

{ {System.out.println("hello.");}

public static void main(String[] args){

new hellotest();new hellotest();new hellotest(); }

}

A. 0 B. 1 C. 2 D. 3

37. 假设A类有如下定义,设aA类的一个实例,下列语句调用哪个是错误的?( 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. 看下面一段程序:

   class Aclass

{

void go()

{ System.out.println("Aclass"); }

}

public class Bclass extends Aclass

{

void go()

{ System.out.println("Bclass"); }

public static void main(String args[]){

Aclass a=new Aclass();

Aclass a1=new Bclass();

a.go();

a1.go();

}

}

以上程序运行结果是:( C

A. Aclass B. Bclass C. Aclass D. Bclass

  Aclass Bclass Bclass Aclass

39. 哪一行定义了一个静态变量? A

A. public static int i B.static public int i

C. public int static i D.int public static i

40. MAX_LENGTHintpublic成员变量,变量值保持为常量100,其定义是( C )。

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

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

41. 若在某个类中定义如下的方法final void aFinalFunction( );则该方法属于( C )。

A. 本地方法 B. 静态方法 C. 最终方法 D. 抽象方法

42. MyClass类的默认构造方法是哪一个? B

A. new MyClass() B. MyClass(){}

C. MyClass{} D. public class MyClass

43. 构造方法何时被调用 B

A. 类定义时            B. 创建对象时

C. 调用对象方法时         D. 使用对象的变量时

44对于构造方法,下列叙述不正确的是( B )。

A. 构造方法是类的一种特殊方法,它的方法名必须与类名相同。

B. 构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀。

C. 构造方法的主要作用是完成对类的对象的初始化工作。

D. 一般在创建新对象时,系统会自动调用构造方法。

45. 给出下面代码段

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 C. line 6 D. line 10

46. 在成员方法的访问控制修饰符中,下列哪个修饰符规定访问权限包含该类自身同包的其他类和其他包的该类子类( B )。

A.默认 Bprotected Cprivate D.public

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

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

B. 可以被两种类访问和引用:该类本身该类的所有子类

C. 只能被该类自身所访问和修改

D. 只能被同一个包中的类访问

48. 下面哪个修饰符修饰的方法只能被本类中的其他方法使用( C

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

49. 下面关于继承的哪些叙述是正确的? D

A. java中允许多继承。

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

C. java中一个类不能同时继承一个类和实现一个接口。

D. java的单一继承使代码更可靠。

50. 下面关于类的继承性的描述中,错误的是( C )。

A.继承是在已有的基础上生成新类的一种方法

BJava语言要求一个子类只有一个父类

C.父类中成员的访问权限在子类中将被改变

D.子类继承父类的所有成员,但不包括私有的成员方法

51. 下面叙述中,错误的是( C )。

A.子类继承父类 B.子类能替代父类

C.父类包含子类 D.父类不能替代子类

52. 对于下列代码:

   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. }

12. }

10行语句将调用哪行语句? D

A. line 2 B. line 3 C. line 6 D. line 7

53. 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){ }

54. 下列关于抽象类的描述中,错误的是( C )。

A.抽象类是用修饰符abstract说明的 B.抽象类是不可以定义对象的

C.抽象类中不能具体方法 D.抽象类通常要有它的子类

55. 下列哪个类声明是正确的 D 

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

C. protected private number; D. public abstract class Car{}

56. 下列关于修饰符混用的说法,错误的是 D

A. abstract不能与final并列修饰同一个类

B. abstract不能有自己的构造方法

C. abstract方法所在的类必须abstract

D. static方法中能处理非static的属性p51static修饰方法的特点)

57. Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数或参数类型各不相同。这种重复定义同名方法的行为称为对方法 C )。

A. 隐藏 B. 覆盖 C. 重载 D. Java不支持此特性

58. Java 中,能实现多重继承效果的方式是 C

A. 内部类 B. 适配器 C. 接口 D. 同步

59. 以下哪个接口的定义是正确的? 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();}

60. A派生出子类B派生出子类C,并且在Java源代码中有如下声明:

1.      A a0=new A();

2.     A  a1 =new B();

3.     A a2=new C();

问以下哪个说法是正确的?  D

A. 只有第1行能通过编译  

B. 12行能通过编译,但第3行编译出错

C. 123行能通过编译,但第23行运行时出错

D. 12行和第3行的声明都是正确的 

61. finally代码块中的代码 D

A. 在任何错误处理代码之前执行

B. 不执行,除非在前面的try块中产生异常

C. 不能保证在任何确定的时间内执行,但是将会优先于碎片收集JVM调用

D. 保证执行,无论try块中是否产生异常

62. 当方法遇到异常又不知如何处理时,下列哪种说法是正确的 B

A. 捕获异常             B. 抛出异常

C. 声明异常             D. 嵌套异常

63. java的一个异常处理中哪个语句块可以有多个 A

A.catch B.finally C.try D.throws

64. 哪个关键字可以抛出异常? C

A. transient B. finally C. throws D. static

65. 给出一段程序,试判断哪个是正确的结果( D

public class myprogram{

public static void main (String args[]){

try{

System.out.print(“Hello world ”); }

finally{

System.out.println(“Finally executing”);

}

}

}

A. 无法编译,因为没有指定异常

B. 无法编译,因为没有catch子句

C. Hello world

D. Hello world Finally executing

66. Java中可以用两种方法来创建线程,一种是继承Thread类,另一种是实现 B 接口。

A. Throws B. Runnable C. Component D. Container

67. 下面哪个不是Thread类的方法? C

A.yield() B.sleep(long msec) C.go() D.stop()

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

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

69. 以下不属于Swing的控件是 C ()

A. JPanel B. JTextField C. Canvas D. JFrame

70. 下列不属于容器的是 B

A. Window              B. TextBox

C. Panel                D. ScrollPane

本文来源:https://www.2haoxitong.net/k/doc/3f68ed8f58fafab068dc0252.html

《Java选择题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式