当前位置:文档之家› Java选择题(学生版)

Java选择题(学生版)

Java选择题(学生版)
Java选择题(学生版)

Java练习题

一、单选题

1. Java程序的执行过程中用到一套JDK工具,其中java.exe是指()(p5 表1.1)

A. Java文档生成器

B. Java解释器

C. Java编译器

D. Java类分解器

2. 编译Java程序的命令文件名是()(p5 表1.1)

A. java.exe

B. javac.exe

C. javac

D. appletviewer.exe

3. 编译Java程序filename.java后生成的程序是()(p2 图1.3)

A. filename.html

B. FileName.class

C. filename.class

D. filename.jar

4. 已知JavaDemo.class是一个独立应用程序的class文件,下面的执行语句中正确的是()。(p2 图1.3,p5 表1.1,p5例1.1)

A. java JavaDemo.class

B. java Javademo

C. javac JavaDemo

D. java JavaDemo

5. 设JavaAppletDemo.java是一个Applet程序,如果要执行这个Applet(假定其web 文件是JavaAppletDemo.html),正确的操作语句是()。(p5 表1.1,p7例1.2)

A. appletviewer javaAppletDemo.java

B. appletviewer JavaAppletDemo.class

C. appletviewer JavaAppletDemo.htm

D. appletviewer JavaAppletDemo.html

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

A. java

B. class

C. html

D. exe

7. Java编译器将源代码翻译成独立于平台的格式是()。(p2 图1.3)

A. opcodes

B. bytecodes

C. virtual machines

D. applet 8.可以用来创建Java程序的工具集是()(p4 )

A. JRE

B. JNI

C. JVM

D. JDK

9. Java语言与其他主要语言相比较,独有的特点是()(p3)

A. 面向对象

B. 多线程

C. 平台无关性

D. 可扩展性

10. 如果一个public类命名为MyClass,它的源文件名是什么?()(p5 程序说明)

A. MyClass.src

B. MyClass

C. MyClass.java

D. myclass.java

11. 声明Java独立应用程序main()方法时,正确表达是()(p5 例1.1及程序说明)

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(){…}

12. main方法是Java的Application程序执行的入口点,对main方法的修饰与说明以下

哪项是正确的()。(p5 例1.1及程序说明)

A. public static void main()

B. public static void main(String args[])

C. public void main(String arg[ ])

D. public static int main(String[ ] args)

13. Main()方法的返回类型是:()(p5 例1.1及程序说明)

A. int

B. void

C. boolean

D. static

14. 下面哪个选项是正确的main方法说明?()

A. public main(String args[])

B. public static void main(String args[])

C. void main()

D. private static void main(String args[])

15. 运行下面程序段的结果是:()。(p5 例1.1及程序说明)

public class MyMain{

public static void main(String args){

System.out.println(“Hello Java”);

}

}

A.正常输出Hello Java B.编译时出错

C.运行时出错 D. 以上答案都不对

16. 下列有关Java语言的叙述中,正确的是()。(p5程序说明)

A. Java是不区分大小写的

B. 源文件名与public类型的类名必须相同

C. 源文件的扩展名为.jar

D. 源文件中public类的数目不限

17. Java用来定义一个新类时,所使用的关键字为()。(p5 例1.1及程序说明)

A. class

B. public

C. struct

D. class 或struct

18. 一个可以独立运行的Java应用程序()。

A. 可以有一个或多个main方法

B. 最多只能有两个main方法

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

D. 只能有一个main方法

19. 下面几个说法中正确的是()。(p6 表1.2,例1.2,p8,p168 1.)

A. Java Applet是可以独立运行的一种程序

B. Java Applet是一种程序,他与Java Application没有什么区别

C. Java Applet必须嵌入到HTML文件由浏览器运行

D. Java Applet有自己的main()方法

20. 下面关于Applet的说法正确的是()(p6 表1.2,p168 11.1之2.,p168,11.2之1.)

A. Applet也需要main方法

B. Applet必须继承自java.awt.Applet

C. Applet能访问本地文件

D. Applet程序不需要编译

21. 下面哪个是不合法的标识符?()(p10)

A. $persons;

B. TwoUsers;

C. *point;

D. _endline;

22. 下面哪个是Java语言中正确的标识符()(p10)(p10 表2.1)

A. 3D

B. $this

C. extends

D. implements

23. 下列哪些标识符是不合法的?()(p10)

A. _underscore

B. 5Intel

C. Intel5

D. $value$

24. 下列属于合法的Java标识符是()。

A. _cat

B. 5books

C. +static

D. -3.14159

25. 下面哪个不是Java的保留字或关键字?()(p10 表2.1)

A. default

B. NULL

C. throws

D. long

26. 对if(…)句型括号中的表达式,下列Java类型中哪一个是合法的?()(p22,注意(1))

A. byte

B. short

C. boolean

D. Object reference

27. 以下哪个是boolean的合法值?选出其答案()。(p12)

A. false

B. …true?

C. 0

D. 1

28. Java中整型包括()。(p13,表2.3)

A. int,byte,char

B. int,short,long,byte,char

C. int,short,long,char

D. int,short,long,byte

29. 哪个是将一个十六进制值赋值给一个long型变量?()(p13,p14)

A. long number = 345L;

B. long number = 0345;

C. long number = 0345L;

D. long number = 0x345L;

30. 下面的哪个赋值语句是不对的?()(p14)

A.float f = 11.1; B.double d = 5.3E12;

C.double d = 3.14159; D.double d = 3.14D;

31. 下面哪个表达式正确?()(A p14,B p12,C p13表2.3)

A.float f=1.3; B.char c="a"; C.byte b=257; D.int i=10;

32. 下面哪一个表达式是正确的?()(A p13表2.3,B p12,C p13)

A. byte=128;

B. Boolean=null;

C. long l=0xfffL;

D. double=0.9239d;

33. 下列赋值语句中错误的是()。(p13表2.3)

A. float f=11.1f;

B. double d=5.3E12;

C. char c='\r';

D. byte bb=433;

34. 下列哪个数代表八进制整数?()(p13)

A. 0XA6

B. -1E3

C. 1840

D. 0144

35. 在Java 中,表示换行符的转义字符是()。(p12 表2.2)

A. '\n?

B. '\f'

C. 'n'

D. \dd

36. 下列代码真正出错的在那一行: ()(k没有初始化,p80 注意:(1))

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

37.以下代码段执行后的输出结果为()。(p16 表2.7,符号随被除数)

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

System.out.println(y%x);

A. 不能成功编译

B. -1.0

C. 1.0

D. -1

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

A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空

39. 对数组的定义及初始化不正确的方法是:()(p28,数组声明格式)

A.int array[]; B.int array[8];

C.int[] array=new int[8]; D.int array[]=new int[8];

40. 下面哪个语句(初始化数组)是不正确的:()(p29,初始化的三种方式)

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

41. 下面哪条语句定义了5个元素的数组()(p29,初始化的三种方式)

A. int [] a={22,23,24,25,12};

B. int a []=new int(5);

C. int [5] array;

D. int [] arr;

42. 当java定义一维数组名为abc时,下面哪项可以得到数组元素的个数?()(p46)

A.abc.length( )

B.abc.length

C.len(abc)

D.ubound(abc) 43.下面表达式中,用来访问数组中第一个值的是()(p29,注意(1))

A. intArray[1]

B. intArray.1

C. intArray[0]

D. intArray.0

44. 设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是()。(p29,注

意(1))

A. 定义了一个名为a的一维数组

B. a数组有3个元素

C. a数组的下标为1~3

D. 数组中的每个元素是整型

45. 根据下面给出的代码,判断那个叙述是对的?()(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

46. 以下程序执行完后,c与result的值是:()(p19,p21,p21 表2.13)

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;

47. 下面程序段,执行完后,正确的结果是()。(p19,表2.10)

boolean a=false;

boolean b=true;

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

boolean result=(a&b)&(!b);

A. c: false; result: false

B. c: true; result: true

C. c: true; result: false

D. c: false; result: true

48. 代码“Green eggs”+“Ham”的结果是什么?()。

A. Green eggs+Ham

B. Green eggs Ham

C. Green eggsHam

D. Error

49. 下面哪个是对字符串String的正确定义()(p14,p121 初始化的两种方式)

A.String s1=null;

B.String s2=?null? ;

C.String s3=(String) …abc? ;

D.String s4=(String) …\uface?;

50. 下面哪个是对字符串String的正确定义()(p14,p121 初始化的两种方式)

A. String s1=”\n\t nu ll”;

B. String s2=?null? ;

C. String s3=(String) …abc? ;

D. String s4=(String) …\uface?;

51. 下面那个表达式是声明一个含有10个String对象的数组?()(p29,数组定义)

A. char str[];

B. char str[][];

C. String str[]=new String[10];

D. String str[10];

52. 给出下面一段程序,选择运行结果()(p29)

public class X{

public static void main(String [] args){

String names[]=new String[5];

for(int x=0; x

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

}

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

A. names

B. b

C. null

D. 运行出现异常

53. 下面哪种注释方法能够支持javadoc命令: ()(p36,程序头说明)

A. /**...**/

B. /*...*/

C. //

D. /**...*/

54. 哪种方法返回String中的字符数?()。(p125-5. ,p127例8.7)

A. size()

B. length()

C. width()

D. girth()

55. 下面哪个不是String类的方法?()(p125-5. ,p126-8.2.3)

A. subString()

B. startsWith()

C. toString()

D. toUpperCase()

56. 根据下列语句判断哪个表达式返回false。()(p97,引用比较;p122-3.;Example2)

String s=”hello”;

String t=”hello”;

c har c[]={…h?,?e?,?l?,?l?,?o?};

A. s.equals(t);

B. t.equals(c);

C. s==t;

D. t.equals(new String(“hello”));

57. 关于以下程序段,正确的说法是()(p97,引用比较;p122-3.;Example3)

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都不执行

58. 下列代码的执行结果是:()。(p122,例8.1,例8.2)

public class Test5{

public static void main(String args[]){

String s1=new String("hello");

String s2=new String("hello");

System.out.print(s1==s2);

System.out.print(",");

System.out.println(s1.equals(s2));

}

}

A. true, false

B. true, true

C. false, true

D. false, false

59. 类与对象的关系是()。(p38)

A. 类是对象的抽象

B. 类是对象的具体实例

C. 对象是类的抽象

D. 对象是类的子类

60. 下面关于java中类的说法哪个是不正确的?()

A. 类体中只能有变量定义和成员方法的定义,不能有其他语句。

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

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

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

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

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

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

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

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

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

A. class x { .... }

B. public x extends y { .... }(p66)

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

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

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

class Empty{}

public class ObjectTest{

public static void main(String[] args){

Empty em=new Empty();

}

}

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

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

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

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

D.类Empty能够被继承

64. 下面是程序ObjectText.java的代码

class Empty{}

public class ObjectTest{

public static void main(String[] args){

Empty em=new Empty();

}

}

以下正确的结论是()。

A. em是已实例化的对象

B. 编译这个程序会出错,因为类Empty是空的,不能实例化

C. 因为类Empty是空的,所以em不是对象

D. 程序不能正确编译

65. 下列应用程序打印多少行?()()

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

66. 指出下列程序运行的结果()(p43,4.4.2)

public class Example{

String str=new String("good");

char[] ch={'a','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.print(ex.str+" and ");

Sytem.out.print(ex.ch);

}

public void change(String str,char ch[]){

str="test ok";

ch[0]='g';

}

}

A. good and abc

B. good and gbc

C.test ok and abc

D. test ok and gbc

67. 假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是错误的?()(p50-51)

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()

68. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?()

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();

69. 看下面一段程序:

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();

}

}

以上程序运行结果是:()(p99例6.16 程序说明:(4))

A. Aclass

B. Bclass

C. Aclass

D. Bclass

Aclass Bclass Bclass Aclass 70. 下面程序运行后的输出结果为()(p50-51,4.6.1 static)

class A

{ static int y=3;

void showy( ){System.out.println("y="+y); }

}

class testA

{ public static void main(String aaa[])

{ A a1=new A( );

A.y+=1; a1.y++;

a1.showy( );

}

}

输出结果选择:

A. y=3;

B. y=4;

C. y=5;

D. 程序运行出错

71.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是()。(p11,p53)

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;

72. 哪一行定义了一个静态变量?()(p50-51,4.6.1 static)

A. public static int i;

B.static public int i;

C. public int static i;

D.int public static i;

73. 若在某个类中定义了如下的方法:final void aFinalFunction( );,则该方法属于()。(p53)

A. 本地方法

B. 静态方法

C. 最终方法

D. 抽象方法74.MyClass类的默认构造方法是哪一个?()(p48,特征(4),例4.10)

A. new MyClass()

B. MyClass(){}

C. MyClass{}

D. public class MyClass

75. 构造方法何时被调用()(p47-4.5.1)

A. 类定义时

B. 创建对象时

C. 调用对象方法时

D. 使用对象的变量时

76. 下列关于构造方法的叙述中,错误的是()。(p47 4.5.2,p77)

A. Java语言规定构造方法名与类名必须相同

B. Java语言规定不能对构造方法指定类型,它有隐含的返回值

C. Java语言规定构造方法不可以重载

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

77. 对于构造方法,下列叙述不正确的是()。(p47 4.5.2)(例4.9)

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

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

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

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

78. 下列关于构造方法的叙述中,错误的是()。(p47 4.5.2,p77)

A. 构造方法名与类名必须相同

B. 构造方法不能用void声明其返回值类型

C. 构造方法不可以重载,但可以继承

D. 构造方法不能通过对象引用来调用

79. 下面关于构造方法的说法不正确的是()(p47-48,p77)

A. 构造方法也属于类的方法,在调用其创建对象时可通过其参数给成员变量赋值。

B. 构造方法不可以重载。

C. 构造方法不能设定返回值类型。

D. 构造方法一定要和类名相同。

80. 给出下面代码段

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

哪行将引起一个编译时错误?()(p47,p77)

A. line 3

B. line 5

C. line 6

D. line 10

81. 下面关于类方法的描述,错误的是()。(p51 static修饰方法的特点)

A. 说明类方法使用关键字static

B. 类方法只能处理类变量或调用类方法

C. 类方法和实例方法一样均占用对象的内存空间

D. 类方法能用实例和类名调用

82. 下面关于包的描述中,错误的是()。(p53)

A. 包是若干对象的集合

B. 使用package语句创建包

C. 使用import语句引入包

D. 包分为有名包和无名包两种

83. 在Java 中,用package 语句说明一个包时,该包的层次结构必须是(B )。

A. 与文件的结构相同

B. 与文件目录的层次相同

C. 与文件类型相同

D. 与文件大小相同

84. 下面哪个Java源代码片段是不对的?()(p55,程序说明(1))

A. package testpackage;

public class Test{//do something...}

B. import java.io.*;

package testpackage;

public class Test{//do something...}

C. import java.io.*;

class Person{//do something...};

public class Test{//do something...}

D. import java.io.*;

import java.io.awt.*;

public class Test{//do something...}

85. 下面关于封装性的描述中,错误的是()。(p59)

A. 封装体包含属性和行为

B. 被封装的某些信息在外不可见

C. 封装提高了可重用性

D. 封装体中的属性和行为的访问权限相同

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

A.默认B.protected C.private D.public 87. 在类的修饰符中,规定只能被同一包类所使用的修饰符是()。

A.public B.默认C.final D.abstract 88.定义一个文件名为“MyClass.java”的MyClass类,并且该类可被一个工程中的所有类访问,则下面哪个声明是正确的?()(p69)

A. public class MyClass extends Object

B. public class MyClass

C. private class MyClass extends Object

D. class MyClass extends Object

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

5.1和图5.2)

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

的子类

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

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

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

90. 要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,可以()。(p61,表5.1和图5.2)

A. 让该类不使用任何关键字

B. 使用private关键字

C. 使用final关键字

D. 使用protected关键字

91. 下面哪个修饰符修饰的方法只能被本类中的其他方法使用()(p61-表5.1)

A. protected

B. static

C. private

D. public

92. 指出下面关于继承的哪个叙述是正确的?………………………………………()

A.在Java中只允许单一继承(p66)

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

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

D.Java的单一继承就是在继承类时不能再实现接口

93. 下面关于继承的哪些叙述是正确的? ()()

A. 在java中允许多继承。

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

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

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

94. 下面关于类的继承性的描述中,错误的是()。(p66-67)

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

B.Java语言要求一个子类只有一个父类

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

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

95. 下列关于继承性的描述中,错误的是()。(p66)

A.一个类可以同时生成多个子类

B.子类继承了父类中除私有的成员以外的其他成员

C.Java支持单重继承和多重继承

D.Java通过实现接口可使实现类使用多个接口的成员(p88)

96. 下面叙述中,错误的是()。(p66,p70-5.3.4 2. ,p73 小结)

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

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

97. 对于下列代码:

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行语句将调用哪行语句?()(p76,例6.2及相关说明)

A. line 2

B. line 3

C. line 6

D. line 7

98. 类Test1定义如下:

1. public class Test1{

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

3.

4.}

将以下哪种方法插入行3是不合法的。()(p70,重载的定义)

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

99. 下列关于抽象类的描述中,错误的是()。(p82,p94表6.3)

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

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

100. 下列哪个类声明是正确的()(p83,例6.8)

A. abstract final class H1{…}

B. abstract private move(){…}

C. protected private number;

D. public abstract class Car{…} 101. 下面几个抽象类定义中哪个是正确的?()。(p83,例6.8)

A. class alarmclock{ abstract void alarm();}

B. abstract alarmclock{ abstract void alarm();}

C.class abstract alarmclock{ abstract void alarm();}

D. abstract class alarmclock{ abstract void alarm();}

102. 下面哪条语句把方法声明为抽象的公共方法?()(p84图6.4,p83例6.8)A.public abstract method(); B.public abstract void method();

C.public abstract void method(){}

D.public void method() extends abstract;

103. 下列关于修饰符混用的说法,错误的是()(p82-6.3.1节第(6)点)

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

B. abstract类中不可以有private的成员

C. abstract方法必须在abstract类中

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

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

A. 隐藏

B. 覆盖

C. 重载

D. Java不支持此特性105. 用于在子类中调用被重写父类方法的关键字是()。(p75,6.1.2节;78,6.2.2)

A. this

B. super

C. This

D. Super

106. 类Teacher和Student是类Person的子类:

Person p;

Teacher t;

Student s;

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

if(t instanceof Person) { s = (Student)t; }

最后一句语句的结果是:()(p97 3.,p95 注意)

A. 将构造一个Student对象

B. 表达式是合法的

C. 表达式是错误的

D. 编译时正确,但运行时错误107. 下面关于接口的描述中,错误的是()。(p87)

A.一个类只允许实现一个接口B.定义接口使用的关键字是interface C.在实现接口的类中通常要给出接口中定义的抽象方法的具体实现

D.接口实际上是由常量和抽象方法构成的特殊类(p94表6.3)

108. 在Java 中,能实现多重继承效果的方式是()。

A. 内部类

B. 适配器

C. 接口

D. 同步109. 以下哪个接口的定义是正确的?()(p87)

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();}

110. 假定X、Y和Z都是接口。下列哪句是正确的接口声明。()。(p87)

A. interface B implements Y{void aMethod();}

B. interface C extends X,Y,Z{void aMethod();}

C. interface C extends X{protected void aMethod();}

D. class A implements X{protected void aMethod();}

111. 在下列程序段中错误的语句或段是()。

import java.awt.*;

import java.awt.event.*;

A.import java.applet.Applet;

B.public class TextArea extends Applet ,Frame

C.implements MouseListener,MouseMotionListener{

D.TextArea textareal;

Button button1;

……

}

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

1. A a0=new A();

2. A a1 =new B();

3. A a2=new C();

问以下哪个说法是正确的?()(p95)

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

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

C. 第1、2、3行能通过编译,但第2、3行运行时出错

D. 第1行、第2行和第3行的声明都是正确的

113. 在finally代码块中的代码,()(p112)

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

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

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

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

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

A. 捕获异常

B. 抛出异常

C. 声明异常

D. 嵌套异常

115. 自定义的异常类可从下列哪个类继承?()(p115例7.9)

A. Error类

B. aWTError

C. VirtualMachineError

D. Exception及其子集

116. 在java的一个异常处理中,哪个语句块可以有多个()(p112)

A.catch

B.finally

C.try

D.throws

117. 下面哪种情形能够导致陷入Error?()(p109)

A. 零作除数

B. 内存耗尽

C. 创建一个负下标尺寸的数组

D. 调用一个空对象的方法

118. Exception类是什么类的子类?()(p109图7.2)

A. Error

B. Throwable

C. Problem

D.Snafu

119. 对于每个try块,下列结论正确的是。()(p112)

A. 必须只有一个catch块

B. 必须有至少一个catch块

C. 必须有finally块

D. 必须有至少一个catch块或一个finally块

120. 哪个关键字可以抛出异常?()(p111)

A. transient

B. finally

C. throws

D. static

121. 编译并运行下述程序段的结果是:()。(p110,运行时抛出数组下标越界异常)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

122. 给出一段程序,试判断哪个是正确的结果()(p112,p113-例7.7)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

123. 下列关于Java线程的说法那个是正确的()(p133)

A. 每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。

B. 创建线程的两种方法中,从Thread类中继承的创建方式可防止出现多父类问题。

C. Thread类属于java.util程序包。(p120)

D. 以上说法无一正确。

124. 下列关于线程优先级的说法中,正确的是()。(p141)

A. 线程的优先级是不能改变的

B. 线程的优先级是在创建线程时设置的

C. 在创建线程后的任何时候都可以设置

D. B和C

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

A. Throws

B. Runnable

C. Component

D. Container 126. 以下哪个方法用于定义线程的执行体?()(p134-135 )

A. start()

B. init()

C. run()

D. main()

127. 下面哪个不是Thread类的方法?()(p134)

A.yield()

B.sleep(long msec)

C.go()

D.stop()

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

A. 安全性

B. 多线程

C. 跨平台

D. 可移植

129. 下面说法不正确的是()。

A. Java中线程是抢占式的

B. Java中线程是分时的

C. Java中的线程可以共享数据

D. Java中的线程可以共享代码

130. 运行下列程序, 会产生什么结果?()

public class X extends Thread implements Runnable{

public void run(){

System.out.println("this is run()");

}

public static void main(String args[])

{

Thread t=new Thread(new X());

t.start();

}

}

A. 第1行会产生编译错误

B. 第7行会产生编译错误

C. 第7行会产生运行错误

D. 程序会运行和启动

131. 下面属于Java线程同步方法的方法有()。(p148 程序说明)

A. joiny()

B. run()

C. wait()

D. destroy()

132. 下面哪个不是Collection接口的方法?()

A. iterator

B. isEmpty

C. toArray

D. setText 133. 欲构造ArrayList类的一个实例,此类继承了List接口,下列何种方式是正确的? ()

A. ArrayList myList=new Object();

B. List myList=new ArrayList();

C. ArrayList myList=new List();

D. List myList=new List();

134. 当启动Applet 程序时,首先调用的方法是()。(p169)

A. stop()

B. init()

C. start()

D. destroy() 135. 类库AWT中最基础的类是()(p174图12.1)

A. https://www.doczj.com/doc/6d17788443.html,ponent

https://www.doczj.com/doc/6d17788443.html,ng.Object

C. java.awt.Container

D. java.awt.Panel

136. 编译并运行以下程序段的结果是:()(p176注意(2))

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

B. x is 0

C. x is 0

D. x is 300

y is 300 y is 0 y is 300 y is 0

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

A. JPanel

B. JTextField

C. Canvas

D. JFrame

138. 创建一个标识有"关闭"按钮的语句是()。

A. TextField b = new TextField("关闭");

B. Label b = new Label("关闭");

C. Checkbox b = new Checkbox("关闭");

D. Button b = new Button("关闭");

139. 哪种方法设置控件的背景颜色?()

A. setBackgroudColor()

B. setBackColor()

C. setColor()

D. setBackgroud()

140. 下面的哪种颜色代表绿色?()

A. new Color(55,0,0)

B. new Color(0,255,0)

C. new Color(0,0,100)

D. new Color(244,0,255)

141. 在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上()语句。

A. import java.awt.* ;

B. import java.applet.* ;

C. import java.io.* ;

D. import java.awt.event.* ;

142. paint()方法使用哪种类的参数? ()

A. Graphics

B. Graphics2D

C. String

D. Color

143. 编写Java applet程序时,若需要对发生事件作出响应和处理,一般需要在程序的开头写上()语句。

A. import java.awt.*;

B. import java.applet.*;

C. import java.io.*;

D. import java.awt.event.*;

144. 使用边界布局管理器必须输入哪一个包?()

https://www.doczj.com/doc/6d17788443.html,ng.*

B. javax.swing.*

C. java.awt.*

D. https://www.doczj.com/doc/6d17788443.html,yout.*

145. 现有语句:new GridLayout(6、3);问这个网格布局中最多能放置多少个控件?()

A. 6

B. 3

C. 18

D. 4

146. 布局管理器不控制下面哪一种属性?()

A. 长度

B. 可见性

C. 宽度

D.颜色

147. 哪种限制将控件放在底部?()

A. LayoutMageger.BOTTOM

B. BorderLayout.SOUTH

C. BorderLayout.BOTTOM

D. LayoutManager.SOUTH

148. Frame的默认的布局管理器是下列哪一个? ()(p186)

A. FlowLayout

B. BorderLayout

C. GridLayout

D. CardLayout

149. 把一个按钮放在窗体容器的下方,无论用户如何调整容器的大小和位置,该按钮都能位于容器的下方不变,那么,应该选用的布局管理器是。()

A. FlowLayout

B. BorderLayout

C. GridLayout

D. GridBagLayout

150.如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?()(p188)

A. BoxLayout

B. GridLayout

C. BorderLayout

D. FlowLouLayout 151. 容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?()(p185)

A. CardLayout

B. FlowLayout

C. BorderLayout

D. GridLayout

152. 下列不属于容器的是()(p174)

A. Window

B. TextBox

C. Panel

D. ScrollPane

153. Applet类的直接父类是()(p174)

A. Component类

B. Container类

C. Frame类

D. Panel类

JAVA测试题(三套含答案)

1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4. 编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; "The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F C. _whatavariable D. _3_

6.内部数据类型byte的取值范围是B - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: "zero"); break; case 1: "one"); case 2: "two"); default: "default"); } B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default: "default"); case 0:

Java经典试题

1. public class ReturnIt{ returnType methodA(byte x, double y){ //line 2 return (short)x/y*2; } } what is valid returnType for methodA in line 2? 答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型. 2. 1) class Super{ 2) public float getNum(){return 3.0f;} 3) } 4) 5) public class Sub extends Super{ 6) 7) } which method, placed at line 6, will cause a compiler error? A. public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){} D. public double getNum(float d){return 4.0d;} Answer:B A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下: Sub.java:6: Sub 中的getNum() 无法覆盖Super 中的getNum();正在尝试使用不 兼容的返回类型 找到:void 需要:float public void getNum(){} ^ 1 错误 B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private); 重载:必须具有不同的参数列表; 可以有不同的返回类型,只要参数列表不同就可以了; 可以有不同的访问修饰符; 把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对. 3. public class IfTest{ public static void main(String args[]){ int x=3;

javaSE选择题50道判断题30道

一、不定项选择题:(50题) 1.下列关于JDK、JRE和JVM的描述,正确的是?D A.JRE中包含了JDK,JVM中包含了JRE B.JRE中包含了JDK,JDK中包含了JVM C.JDK中包含了JRE,JVM中包含了JRE D.JDK中包含了JRE,JRE中包含了JVM 2.以下关于JVM的叙述,正确的是?AC A.JVM运行于操作系统之上,它依赖于操作系统 B.JVM运行于操作系统之上,它与操作系统无关 C.JVM支持Java程序运行,它能够直接运行Java字节码文件 D.JVM支持Java程序运行,它能够直接运行Java源代码文件 3.JVM在执行一个Java类时,大致采用以下过程?A A.装载类一>校验类一>执行类中的代码 B.装载类一>执行类中的代码一>校验类 C.校验类一>装载类一>执行类中的代码 D.执行类中的代码一>装载类一>校验类 4.以下关于Java文件名的叙述,正确的有?AD A.Java源文件的扩展名应为.java B.Java字节码文件的扩展名应为.java C.一个Java源文件中只能包含一个Java类 D.Java源文件的文件名应与文件中被public修饰的类的类名一致 5.下列哪项不是int类型的字面量?C A.20 B.077 C.\u03A6 D.0xABBC 6.下列哪项不属于Java语言的基本数据类型?B A.int B.String C.double D.boolean 7.下列哪项不是有效的标识符?AC A.2test B.userName C.$car.text D._password

8.现有如下五个声明: Line1: int _hi=6; Line2:int $dollars=8; Line3: int %opercent=9; Line4: int big=Integer.getlnteger("7"); Line5: int a_really_really_really_long_variable_name=5 ; 哪行无法通过编译?B A.Line1 B.Line3 C. Line4 D. Line5 9.表达式:double d = 1-2/5*5+2*5;d的值是哪项?D C.9 D.11 10.现有代码片段: String s="123"; String s1=s+456; 请问s1的结果是哪项?A A.123456 B.579 C.编译错误 D.运行时抛出异常 11.现有: 1.class Test4 { 2. public static void main (String [] args) { 3.boolean x=false; 4.boolean y=true; 5.short z=42; 6. 7. if((z++==42)&&(y==true))z++; 8. if((x==false)||(++z==45))z++; 9. 10. System. out.println("z="+z); 11. } 12.} 结果为:C A. z=42

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

java100道选择题含答案

1. 下列不可作为java语言标识符的是(D) A) a1 B) $1 C) _1 D) 11 2. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3. 整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5. 在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6. 在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10. 以下声明合法的是( D ) A、default String s; B、public final static native int w( )

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

JAVA填空选择题库

一、选择题(共10道题,每道题有4个选项,只有一个选项是正确的;每道题2分,共计20分) 1.下面哪一个文件包含名为HelloWorld的类的字节码(B)。 A.HelloWorld.java B.HelloWorld.class C.HelloWorld.exe D.HelloWorld.javadoc 2.JDK6.0版本成功安装后,在指定的安装位置将出现jdk1.6.0_21目录,该目录下用于存放编译器、解释器等各类工具的子目录是(C)。 A.jre B.lib C.bin D.demo 3.编译运行以下程序后,关于输出结果的显示正确的是(D)。 public class Test{ public static void main(String args[ ]){ byte b=2, e=3; //---------------1 byte f=b+e; //----------------2 System.out.println(f); } } A.编译通过,运行时打印输出5B.编译通过,运行时打印输出23 C.编译不通过,在//1处有错误,不能这样定义变量 D.编译不通过,在//2处有错误,因为此处f必须是一个int类性的变量 4.类的设计要求它的某个成员变量不能被任何外部类直接访问,则使用下面的哪个修饰符能够获得需要的访问控制(A)A.private B.default C.protected D.public 5.已知给出以下代码,则下列选项中正确的是(C)。 public interface Top{ public void twiddle(String s); } A.public abstract class Sub implements Top{ public abstract void twiddle(String s){ } } C.public abstract class Sub implements Top{ } B.public class Sub extends Top{ public void twiddle(Integer i){ } } D.public class Sub implements Top{ public void twiddle(Integer i){ 6.下列哪个选项可以计算出角度为42度的余弦值(B)。 A.double d=Math.cos(42); B.double d=Math.cos(Math.toRadians(42)); C.double d=Math.conine(42) ; D.double d=Math.cos(Math.toDegrees(42)); 7.给定一个未完成的方法,代码如下: 1: 2:{ success = connect( ); 3:if (success==-1) { 4:throw new TimedOutException(); 5:} 6:} 已知TimedOutException不属于RuntimeException,那么在第一行的位置上填写哪段代码能够完成该方法的声明?(D)A.public void method() B.public void method() throw TimedOutException C.public void method() throws RuntimeException D.public void method() throws TimedOut Exception 8.当编译并运行下列代码时其运行结果是(A)。

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java面试题-经典选择题部分

1 、给出如下代码: class Test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun() 直接访问? C A 、将private int m 改为protected int m B 、将private int m 改为public int m C 、将private int m 改为static int m D 、将private int m 改为int m 2 、下面哪个函数是public void example(){...} 的重载函数?D A 、private void example( int m){...} B 、public int example(){...} C 、public void example2(){...} D 、public int example ( int m, float f){...} 3 、给出下面的代码段: public class Base{ int w, x, y ,z; public Base(int a,int b) { x=a; y=b; } public Base(int a, int b, int c, int d) { // assignment x=a, y=b w=d; z=c; } } 在代码说明// assignment x=a, y=b 处写入如下哪个代码是正确的?D A 、Base(a,b); B 、x=a, y=b; C 、this(a),this(b); D 、this(a,b); 4 、已知如下定义:String s = "story"; 下面哪个表达式是合法的?A A 、s += "books"; B 、char c = s[1]; C 、int len = s.length;

Java高级编程选择题

1.Thread类用来创建和控制线程,一个线程从下面( )方法开始执行。 A.init() B.start() C.run() D.notifyAll() 2.实现线程体的方式除了继承Thread类,还可以实现( )接口。 A.Cloneable B.Runnable C.Iterable D.Serializable 3.哪个方法是实现Runnable接口所需的? A.wait() B.run() C.stop() D.update() 4.下面让线程休眠1分钟的正确方法是() A.sleep(1) B.sleep(60) C.sleep(1000) D.sleep(60000) 5.以下哪个最准确描述synchronized关键字? A.允许两线程并行运行,而且互相通信; B.保证在某时刻只有一个线程可访问方法或对象; C.保证允许两个或更多处理同时开始和结束; D.保证两个或更多线程同时开始和结束。 6.于Java语言的内存回收机制,下列选项中最正确的一项是( )。 A.Java程序要求用户必须手工创建一个线程来释放内存 B.Java程序允许用户使用指针来释放内存 C.内存回收线程负责释放无用内存 D.内存回收线程不能释放内存对象 7.在java程序中,下列关于线程的说法错误的是: ( ) A.run方法是运行线程的主体 B.多个进程运行时执行顺序是按顺序执行的 C.如果线程死亡,它便不能运行 D.在java中,高优先级的可运行线程会抢占低优先级线程 8.编写线程类,要继承的父类是: A.Object

B.Runnable C.Exception D.Thread 9.启动一个线程的方法是哪项? A . join ( ) B . runf ) C . start ( ) D . sleep ( ) 10.编写线程类,可以通过实现那个接口来实现? A.Runnable B.Throwable C.Serializable https://www.doczj.com/doc/6d17788443.html,parable 11.当一个处于阻塞状态的线程解除阻塞后,它将回到哪个状态? A.运行中状态 B.结束状态 C.新建状态 D.可运行状态 12.在网络编程中,为了定位一个进程,我们需要确定() A.端口号 B.IP地址 C.IP地址和端口号 D.都不是 13.为了从文本文件中逐行读取内容,应该使用哪个处理流对象? A.BufferedReader B.BufferedWriter C.Bufferedlnputstream D.Bufferedoutputstream 14.要使用java程序访问数据库,则必须首先与数据库建立连接,在建立连接 前,应加载数据库驱动程序,该语句为() A.(“ rs= (“”,””,””).createStatement() B.Statement st= (“”,””,””).createStaement() 15.要使用java程序访问数据库,则必须首先与数据库建立连接,该语句为() A.(“ rs= (“”,””,””).createStatement() B.Statement st= (“”,””,””).createStaement() 16.Java程序与数据库连接后,需要查看某个表中的数据,使用下列哪个语句?

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.doczj.com/doc/6d17788443.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.doczj.com/doc/6d17788443.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.doczj.com/doc/6d17788443.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.doczj.com/doc/6d17788443.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.doczj.com/doc/6d17788443.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

java选择题

1、Java属于以下哪种语言?() A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 2、在JDK安装目录下,用于存放可执行程序的文件夹是? A、bin B、jre C、lib D、db 3、下列Java命令中,哪一个可以编译HelloWorld.java文件? A、java HelloWorld B、java HelloWorld.java C、javac HelloWorld D、javac HelloWorld.java 4、以下关于java命令作用的描述中,正确的是 A、它专门负责解析由Java编译器生成的.class文件 B、它可以将编写好的Java文件编译成.class文件 C、可以把文件压缩 D、可以把数据打包 5、下面关于配置path环境变量作用的说法中,正确的是() A、在任意目录可以使用javac和java命令 B、在任意目录下可以使用class文件 C、在任意目录可以使用记事本 D、在任意目录下可以使用扫雷游戏 6、下面关于path和classpath的说法中,错误的是() A、path用来指定java 虚拟机(JVM) 所在的目录 B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件) 所在的目录 C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同 D、只要设置了classpath 这个环境变量系统就不会再在当前目录下查询某个类 7、下面关于classpath的说法中,错误的是()。 A、classpath和path环境变量的查看与配置的方式完全相同。 B、为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置。 C、从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。 D、在命令行窗口中配置了classpath后,重新打开新命令行窗口依然生效 8、下面哪种类型的文件可以在Java虚拟机中运行?() A、.java B、.jre C、.exe D、.class 9、阅读下段代码片段,选择正确的运行结果 public static void main(String[] args) {

JAVA试题及答案(精致)

选择题 1、JAVA所定义的版本中不包括:( D ) A、JAVA2 EE B、JAVA2 Card C、JAVA2 ME D、J AVA2 HE E、J AVA2 SE 2、下列说法正确的是( A ) A、JAVA程序的main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括 起来 3、变量命名规范说法正确的是( B ) A、变量由字母、下划线、数字、$符号随意组成; B、变量不能以数字作为开头; C、A和a在java中是同一个变量; D、不同类型的变量,可以起相同的名字; 4、下列javaDoc注释正确的是( C ) A、/*我爱北京天安门*/ B、//我爱北京天安门*/ C、/**我爱北京天安门*/ D、/*我爱北京天安门**/ 5、为一个boolean类型变量赋值时,可以使用( B )方式 A、boolean = 1; B、boolean a = (9 >= 10); C、boolean a="真"; D、b oolean a = = false; 6、以下( C )不是合法的标识符 A、STRING B、x3x; C、void D、d e$f 7、表达式(11+3*8)/4%3的值是( D )

A、31 B、0 C、1 D、2 8、( A )表达式不可以作为循环条件 A、i++; B、i>5; C、bEqual = str.equals("q"); D、c ount = = i; 9、运算符优先级别排序正确的是(A ) A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、 赋值运算符; B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、 逻辑运算符; C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、 赋值运算符; D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、 逻辑运算符; 10、以下程序的运行结果是:( B ) public class Increment{ public static void main(String args[]) { int a; a = 6; System.out.print(a); System.out.print(a++); System.out.print(a); } } A.666 B.667 C.677 D.676 11、下列值不为true的表达式有( C )。 A、"john" = = "john" B、"john".equals("john") C、"john" = "john" D、"john".equals(new String("john")) 12、下列输出结果是( C )

Java选择题100道

期末不解释Java选择题100道(三)来源:井淼WILL的日志 1. 若a的值为3时,下列程序段被执行后,c的值是多少?( C ) if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 2. 下面哪一个操作符的优先级最高?( D ) A、&& B、|| C、! D、( ) 3. 下列方法头中哪一个不与其他方法形成重载(overload)关系?( D ) A、void mmm() B、void mmm(int i) C、void mmm(String s) D、int mm() 4. 编译Java程序的命令是:( B ) A、appletviewer B、javac C、java D、javadoc 5. 编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A、.byte B、.class C、.html D、.exe 6. 执行语句int i = 1, j = ++i; 后i与j的值分别为( D )。 A、1与1 B、2与1 C、1与2 D、2与2

7. main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?( B ) A、public static void main() B、public static void main(String[] args ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 8. 下列哪个选项不是Java语言的特点?( D ) A、面向对象 B、高安全性 C、平台无关 D、面向过程 9. 下列哪个是合法的Java标识符?( B ) A、Tree&Glasses B、FirstJavaApplet C、*theLastOne D、273.5 10. 下面的选项中,哪一项不属于“汽车类”的行为( D )。 A、启动 B、刹车 C、减速 D、速度 11. 下面哪一个循环会导致死循环?( C ) A、for (int k = 0; k < 0; k++) B、for (int k = 10; k > 0; k--) C、for (int k = 0; k < 10; k--) D、for (int k = 0; k > 0; k++) 12. 有如下程序段: int a = b = 5; String s1 = "祝你今天考出好成绩!"; String s2 = s1; 则表达式a == b与s2 == s1的结果分别是:( A )。 A、true与true B、false与true C、true与false D、false与false

java基础测试题及答案

一、选择题(每题2分,共40分) 1、下面哪个是Java语言中正确的标识符(C) A、3com B、import C、that D、this 2、下面哪个语句(初始化数组)是不正确的:(B) A.intx[]={1,2,3};B.intx[3]={1,2,3}; C.int[]x={1,2,3};D.intx[]=newint[]{1,2,3}; 3、下述概念中不属于面向对象方法的是(D)。 A.对象、消息??B.继承、多态??? C.类、封装????D.过程调用 4、下面的代码段中,执行之后i和j的值是什么?(B) inti=1; intj; j=i++*2+3*--i; A.1,2B.1,5C.2,1D.2,2 5、下面哪条语句把方法声明为抽象的公共方法?(B) A.publicabstractmethod(); B.publicabstractvoidmethod(); C.publicabstractvoidmethod(){} D.publicvoidmethod()extendsabstract; 6、下面关于java中类的说法哪个是不正确的?(C) A.类体中只能有变量定义和成员方法的定义,不能有其他语句。 B.构造函数是类中的特殊方法。 C.类一定要声明为public的,才可以执行。 D.一个java文件中可以有多个class定义。 7、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(C)classA { inti; staticStrings; voidmethod1(){}

staticvoidmethod2(){} } A、; B、a.method1(); C、A.method1(); D、A.method2() 8、容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改 变?(B) A、CardLayout B、FlowLayout C、BorderLayout D、GridLayout 9、下列哪个用户图形界面组件在软件安装程序中是常见的?(C) A.滑块 B.进度条 C.按钮 D.标签 10、在Java中如果要在字符串类型对象s=“JAVA”,中找出‘V’出现的位置可使用下面哪个方法: (B) A.mid(2,s);B.charAt(2);C.s.indexOf(‘V’);D.indexOf(s,’V’); 11、Java中哪个类提供了随机访问文件的功能。(A) A.RandomAccessFile类 B.RandomFile类 C.File类 D.AccessFile类 12、下面哪个方法是类的成员方法,用来获取Socket的输入流。(C) A.getChannel()B.getConnetion() C.getInputStream()D.getStream() 13、给出下面代码: publicclassPerson{ staticintarr[]=newint[10]; publicstaticvoidmain(Stringa[]) { } } 哪个语句是正确的?(B) A.编译时将产生错误; B.输出零; C.编译时正确,运行时将产生错误; D.输出空。 14、A派生出子类B?,B派生出子类C,并且在Java源代码中有如下声明: 1)?Aa0=newA(); 2)?A?a1=newB(); 3)???Aa2=newC();

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.doczj.com/doc/6d17788443.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

相关主题
文本预览
相关文档 最新文档