高级语言程序设计(Java) - 习题集(含答案)

更新时间:2023-11-08 11:28:01 阅读量: 教育文库 文档下载

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

《高级语言程序设计(Java)》课

程习题集

一、单选题

1. 下面属于Java关键字的是( )。

A、NULL A、float 3.14;

B、IF

C、DO

D、while

D、int p[][];

2. 下例正确的是( )。

B、byte i=225;

C、log k=33.5;

3. MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这

个变量。( )

A、public int MAX_LENGTH=100 C、final public int MAX_LENGTH=100

B、final int MAX_LENGTH=100

D、public final int MAX_LENGTH=100 B、原文件名与public类名可以不同 D、原文件中public类的数目不限

D、for语句

4. 下列叙述中,正确的是( )。

A、Java语言的标识符是区分大小写的 C、原文件名其扩展名为.jar

5. 下列语句中,属于多分支语句的是( )。

A、if语句

B、switch语句 B、++i; B、5books B、\\f

C、do while语句

6. 以下选项中,合法的赋值语句是( )。

A、a == 1; A、_cat A、\\n

C、a = a+1 = 5;

C、+static

D、y = int(i);

D、-3.14159

7. 下列属于合法的Java标识符是( ) 8. 在Java中,表示换行符的转义字符是( )

C、’n’

D、\\dd

D、/**…*/

9. 能够支持javadoc命令的注释语句是( )

A、/**…//

B、/*…*/

C、//

10. 下列语句序列执行后,x 的值是( )。

int a=3, b=4, x=5; if( ++a

C、4

D、6

D、Unicode

11. Java语言使用的字符码集是( )

B、BCD

)

第 1 页 共 33 页

C、DCB

12. 指出正确的表达式 ( )

A、byte = 128; C、long l = 0xfffL;

B、Boolean = null; D、double = 0.9239d;

13. 下列说法不正确的是(

A、IOException必须被捕获或抛出 B、java语言会自动初始化变量的值 C、java语言不允许同时继承一个类并实现一个接口 D、java语言会自动回收内存中的垃圾

14. 以下选项中循环结构合法的是( )。

A、 while (int i<7){

i++;

System.out.println(“i is “+i); }

B、 int j=3;

while(j){ System.out.println(“ j is “+j);

}

C、 int j=0;

for(int k=0; j + k !=10; j++,k++){

System.out.println(“ j is “+ j + “k is”+ k); }

D、 int j=0;

do{ System.out.println( “j is “+j++); if (j = = 3) {

continue loop; }

}while (j<10);

15. 下列语句序列执行后,k 的值是( )。

int i=6, j=8, k=10, n=5, m=7; if( i

B、'\\''

C、11

D、'我'

D、12

16. 以下字符常量中不合法的是( )。

C、\

17. 若有循环:

int x=5,y=20;

do{

y-=x; x++;

}while(++x<--y);则循环体将被执行( )。 A、0次 B、1次 C、2次

D、3次

D、以上都不是

18. Java编程默认引用的包为( )。

A、java.sys包 名为( )。 A、java int j=0;

第 2 页 共 33 页

B、java.lang包 C、java.new包

19. 编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展

B、class

C、html

D、exe

20. 下列语句序列执行后,j 的值是(

)。

for( int i=3; i>0; i-- ) j+=i; A、3 B、4

C、5 D、6

21. 下列说法正确的是( )。

A、当运行Javac命令对一个Java源程序进行编译时,必须写出该源文件的完整的文件名,包括扩展名.java

B、当运行Javac命令对一个Java源程序进行编译时,不必写出该源文件的扩展名.java C、当用Java命令解析运行一个class时,必须写出该class文件的扩展名.class D、无论是运行Javac还是Java命令,后面的源文件都必须给出文件扩展名

22. 能从循环语句的循环体中跳出的语句是( )。

A、for 语句

B、break 语句

C、while 语句

D、continue语句

23. 下列语句序列执行后,k 的值是( )。

int i=6,j=8,k=10,m=7;

if(i>j||m

k--;

A、12 B、11 C、10 A、java和javac C、javap和java

D、9

24. 编译和解释执行一个Java应用程序应分别采用的命令是( )。

B、javac和java

D、javac和jdb

B、都通过“appletviewer”命令执行 D、都嵌入在HTML文件中

25. 下列关于Java Application与Applet的说法中,正确的是( )

A、都包含main( )方法 C、都通过“javac”命令编译

26. 在下列说法中,选出正确的一项是( )。

A、Java语言是以方法为程序的基本单位的 B、Java语言是不区分大小写的 C、多行注释语句必须以//开始 D、Java运行时系统自动释放内存

27. Java语言是以哪一种语言为基础的?( )

A、Basic

B、Smalhalk

C、C

D、C++

28. 下列语句中,正确的给出初始值为222.111的单精度浮点数f的定义的一个是( )。

A、float f=222.111f C、float f=222.111d A、j=i

B、float f=222.111 D、float f='222.111'

D、j=(long)i;

29. 设有类型定义short i=32;long j=64;下面赋值语句中不正确的一个是( )。

B、i=j

C、i=(short)j

30. 现有一个int类型的整数和一个double类型的浮点数,当它们之间做了加法运算之后,

得到的结果类型应该是( )。 A、int类型 B、double类型

C、float类型

D、long类型

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

第 3 页 共 33 页

A、与文件的结构相同 C、与文件类型相同 A、java.lang.Object C、java.applet.Applet 饰?( )。 A、protected

B、与文件目录的层次相同 D、与文件大小相同 B、java.lang.Class D、java.awt.Frame

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

33. 要使类中的某个成员变量只能被它自身和它的子类访问到,该变量可用什么修饰符修

B、public

C、private

D、应不加修饰符

34. 以下关于构造方法的描述错误的是( )。

A、构造方法的返回类型只能是void型。

B、构造方法是类的一种特殊方法,它的方法名必须与类名相同。 C、构造方法的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造方法。

35. 在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。

A、public

B、protected

C、private protected

D、private

36. 以下代码段将创建( )个对象。

String s1=\ String s2=\A、0 B、1

C、2 D、3

37. 设 x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。

A、public x x1 = new y( ); C、x x1 = new x( ); A、多重的

B、单重的

B、x x1 = x( );

D、int x x1;

D、不能继承

38. Java语言的类间的继承关系是( )。

C、线程的

39. 下面是有关子类继承父类构造方法的描述,其中正确的是( )。

A、创建子类的对象时,先调用子类自己的构造方法,然后调用父类的构造方法。 B、子类无条件地继承父类所有构造方法。

C、子类必须通过super关键字调用父类的构造方法。 D、子类无法继承父类的构造方法。

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

A、final可修饰类、属性、方法。 B、abstract可修饰类、属性、方法。 C、定义抽象方法需有方法的返回类型、名称、参数列表和方法体。 D、用final修饰的变量,在程序中可对这个变量的值进行更改。

41. 对象使用时,下面描述错误的是( )。

A、通过“.”运算符调用成员变量和方法

B、通过成员变量的访问权限设定限制自身对这些变量方法的调用 C、将一个对象申明为类的成员时,必须在使用前为其分配内存 D、在方法中使用对象作为参数时,采用引用调用

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

第 4 页 共 33 页

A、class x { .... }

B、public x extends y { .... }

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

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

43. 内部类是在一个类内嵌套定义的类。其特点描述错误的是( )。

A、只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名 B、可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量

C、可以作为其它类的成员,而且可访问它所在类的成员 D、除static内部类外,不能在类内声明static成员

44. Java中访问限定符不包括( )。

A、public

B、private

C、default

D、final

45. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB

作为前缀就可以调用它,该方法头的形式为( )。 A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( )

46. 如果在子类中需要调用父类的带参数构造方法,可以通过super()调用所需的父类构造

方法,且该语句必须作为子类构造方法中的( )。 A、第一条语句 B、第二条语句 C、第三条语句

D、最后一条语句

47. 下列不属于面向对象特性的选项是( )。

A、封装性

B、继承性

C、多态性

D、鲁棒性

48. 下列关于类、包和源文件的说法中,错误的一项是( )。

A、一个文件可以属于一个包 B、一个包可包含多个文件 C、一个类可以属于一个包 D、一个包只能含有一个类

49. 以下关于面向对象概念的描述中,不正确的一项是( )。

A、在现实生活中,对象是指客观世界的实体 B、程序中的对象就是现实生活中的对象

C、在程序对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(class) D、在程序中,对象是一组变量和相关方法的集合

50. 下列关于作用域的说法中,正确的一个是( )。

A、不同方法中声明的不同变量,可以互相访问

B、在不同方法中可以声明相同数据类型的同名局部变量 C、在同一个类中可以声明相同数据类型的同名类变量 D、在同一个程序块中可以声明相同数据类型的同名变量

51. 以下哪个表达式是不合法的( )

第 5 页 共 33 页

A、String x=”Hello”; int y=9; x+=y; B、String x=”Hello”; int y=9; if(x==y){ } C、String x=”Hello”; int y=9; x=x+y;

D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 0 52. 有语句String s = ”hello world”;以下操作哪个是不合法的?( ) A、s>>>=1; B、int i = s.length(); C、String ts = s.trim(); D、String t = s+”!”; 53. 创建字符串s:String s = new String(“hello”);以下哪条语句将改变s( )。 A、s.append(“aaa”); B、s.concat(s); C、s.substring(3) D、以上语句都不会

54. 若数组a定义为int[][] a = new int[3][4],则a是( ) A、一维数组 B、二维数组 C、三维数组 D、四维数组

55. 在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个元素,下面正确的代码是( )。 A、System.out.println(a[10]); B、System.out.println(a[9]); C、System.out.println(a[a.length]); D、System.out.println(a(8));

56. 执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( )。 A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空 57. 设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。 A、定义了一个名为a的一维数组 B、a数组有3个元素 C、a数组的下标为1~3 D、数组中的每个元素是整型 58. 为了定义三个整型数组a1、a2、a3,下面声明正确的语句是( )。 A、 intArray [] a1,a2; B、 int [] a1,a2;

int a3[]={1,2,3,4,5}; int a3[]={1,2,3,4,5}; C、 int a1,a2[]; D、 int [] a1,a2;

int a3={1,2,3,4,5}; int a3=(1,2,3,4,5); 59. 给出如下声明:

String s1=new String(“Hello”); String s2=new String(“there”); String s3=new String(“Hello”); 下列选项中( )是合法的。 A、s3=s1+s2 B、s3=s1-s2 C、s3=s1&s2 D、s3=s1&&s2 60. 现有一整型数组a[4],它的所有数组元素是( ) A、a0, a1, a2, a3 B、a[1], a[2], a[2], a[4] C、a[0], a[1], a[2], a[3] D、a[0], a[1], a[2], a[3], a[4] 61. 有程序片段如下,以下哪个表示式的结果为true?( )

Float s=new Float(0.1f); Float t=new Float(0.1f); Double u=new Double(0.1); A、s==t B、s.equals(t) C、u.equals(s) D、t.equals(u)

第 6 页 共 33 页

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

A、Graphics

B、Graphics2D

C、String

D、Color

63. 为了区分重载多态中同名的不同方法,要求( )。

A、采用不同的形式参数列表 C、调用时用类名或对象名做前缀

B、返回值类型不同 D、参数名不同

D、static

D、static

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

A、transient A、int

B、finally B、void

C、throw

65. main()方法的返回类型是:( )。

C、boolean

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

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

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

67. 设有下面两个赋值语句:

a = Double.parseDouble(“1.2”); b = Double.valueOf(“1.2”); 下述说法正确的是( )。 A、a是double类型变量,b是Double类对象。 B、a是Double类对象,b是double类型变量。 C、a和b都是Double类对象并且值相等。 D、a和b都是double变量并且值相等。

68. 为了使paint(Graphics)方法执行,调用下列方法中的( )是最适当的。

A、piant()

B、repaint()

C、paint(Graphics)

D、update(Graphics)

69. 数Float.MAX_VALUE是由哪个包装类提供的?( )

A、java.1ang.Integer B、java.1ang.Long C、java.1ang.Float D、java.1ang.Double

70. 下面叙述正确的是( )。

A、栈不能进行插入元素的操作,而队列可以。 B、栈和队列都不能在中间位置进行插入操作。 C、链表不能进行插入操作。 D、数组不能进行插入操作。

71. 下列方法中可以用来创建一个新线程的是( )

A、实现java.lang.Runnable接口并重写start( )方法 B、实现java.lang.Runnable接口并重写run( )方法 C、实现java.lang.Thread类并重写run( )方法 D、实现java.lang.Thread类并实现start( )方法

72. 下列关于线程优先级的说法中,正确的是(

A、线程的优先级是不改变的 B、线程的优先级是在创建线程时设置的 C、在创建线程后的任何时候都可以设置 D、B和C

第 7 页 共 33 页

73. 线程生命周期中正确的状态是( )

A、新建状态、运行状态和终止状态 B、新建状态、运行状态、阻塞状态和终止状态

C、新建状态、可运行状态、运行状态、阻塞状态和终止状态 D、新建状态、可运行状态、运行状态、恢复状态和终止状态

74. Thread类中能运行线程体的方法是( )

A、start()

B、resume()

C、init()

D、run()

75. 下列哪个方法可用于创建一个可运行的类( )。

A、public class X implements Runable{ public void run(){......} } B、public class X implements Thread{ public void run(){......} } C、public class X implements Thread{ public int run(){......} }

D、public class X implements Runable{ protected void run(){......} }

76. 下面属于Java线程同步方法的方法有( )。

A、joiny() A、wait() A、init() A、sleep()

B、run() B、notify()

C、wait()

D、destroy()

D、notifyAll()

77. 下列方法中,可能使一个线程停止执行的是( )。

C、synchronizized()

78. 下列方法中,用于调度线程使其运行的是( )。

B、start()

C、resume()

C、wait()

D、sleep()

D、notify() D、java.sql

79. 下列方法中,不能使线程停止的是( )。

B、stop() B、java.io

80. 下列哪一个包给出了Runnable接口的定义?( )

A、iava.uti1 A、GridLayout C、FlowLayout A、JPanel

C、java.1ang

81. 类JPanel默认的布局管理器是( )。

B、BorderLayout

D、CardLayout

C、Menu

D、JFrame

82. 下列不属于Swing中组件的是( )。

B、JTable

83. 关于以下代码所画图形的说明,正确的是( )

g.setColor(Color.black);

g.drawLine(10,10,10,50); g.setColor(Color.red);

g.drawRect(100,100,150,150);

A、一条40像素长的垂直红线,一个边长为150像素的红色四方形 B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形 C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形 D、一条50像素长的垂直红线,一个边长为150像素的红色四方形

84. 容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而

改变?( ) A、CardLayout

B、FlowLayout

C、BorderLayout

D、GridLayout

第 8 页 共 33 页

85. 以下哪项可能包含菜单条( )。

A、JPanel B、JFrame C、JApplet D、JDialog

86. 当表格需要刷新显示时,表格对象应调用的方法是( )。 A、paint() B、set() C、repaint() D、JTable()

87. 下列说法中错误的一项是( )。

A、若要编写出色的图形用户界面程序,首先需要考虑如何在界面中放置构件

B、若要编写出色的图形用户界面程序,不需要让构件响应用户的操作

C、若要编写出色的图形用户界面程序,需要考虑如何让构件响应用户的操作 D、若要编写出色的图形用户界面程序,需要掌握构件的显示效果

88. Swing将GUI组件分成了几个部分,其中处于核心地位的是( )。

A、控制

B、模型

C、视图

D、对象

89. 下列说法中错误的一项是( )。

A、LayoutManager是一个接口,编程时通常使用的是实现该接口的类 B、布局管理器体现了Java平台无关性 C、每个容器都对应一个布局管理器

D、在Java中,必须直接设置构件在容器中的位置和直接设置构件的大小

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

A、菜单只能放在窗口的正上方 C、组合框是列表框的一种变体 A、BufferedReader C、DataOutputStream A、字符流类

B、工具栏可以任意拖放

D、JEditorPane是一个文本组件类

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

B、DataInoutStream

D、FileInputStream C、对象流类

D、非流类

92. java.io包的File类是( )

B、字节流类

93. 下列不是OutputStream子类的是( )。

A、文件输出流FileOuputStream C、字符输出流CharOuputStream

B、对象输出流ObjectOuputStream D、压缩文件输出流ZipOuputStream

94. 下列说法中,错误的一项是( )。

A、Java系统的标准输入对象是System.in B、打开一个文件时不可能产生IOException C、使用File对象可以判断一个文件是否存在 D、使用File对象可以判断一个目录是否存在

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

A、BufferedReader C、DataOutputStream A、paint()

B、DataInoutStream D、FileInputStream

D、destroy()

96. 在Applet中显示文字、图形等信息时,应使用的方法是( )。

B、init()

C、start()

第 9 页 共 33 页

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

A、stop( )

B、init( )

C、start( )

D、destroy( )

98. 下列关于Applet的说法中,错误的是( )。

A、Applet自身不能运行,必须嵌入到其他的应用程序(如浏览器)中运行 B、可以在安全策略的控制下读写本地磁盘文件 C、Java中不支持向Applet传递参数

D、Applet的主类要定义为java.applet.Applet类的子类

99. 当浏览器重新返回Applet所在的页面时,将调用Applet类的方法是( )

A、start( )

B、init( )

C、stop( )

D、destroy( )

100. 在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来

完成一些画图操作。 A、start( ) B、stop( )

C、init( )

D、paint( )

二、判断题

101. 注释的作用是使程序在执行时在屏幕上显示//之后的内容。

102. 当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定

终止运行。

103. for 语句中的循环体不能是空的。

104. 程序执行过程中需要的所有类都是通过字节码校验程序装入的。 105. Java标识符只能由大小写字母组成。

106. Java语言的内存由程序员管理,使用完内存后由程序员释放内存。 107. Java字符使用的是 16 位Unicode 编码。 108. false 是合法的 Java 标识符。

109. 应用程序一定要有main()方法,小程序一定要继承于Applet 类。 110. 双精度数强制转换成单精度数后,其数值精度会提高。

111. 程序中抛出异常时(throw ?),只能抛出自己定义的异常对象。 112. 一个异常处理中 finally语句块只能有一个或者可以没有。 113. 用Javac编译Java源文件后得到代码叫字节码。

114. Java语言中一个Char类型的数据占用2个字节大小的内存空间。 115. Java是强类型语言。 116. Java支持多继承。

117. 任何类都有构造方法,如果没有构造方法,就不能创建该类的对象。 118. 类及其属性、方法可以同时有一个以上的修饰符来修饰。 119. 构造方法的方法名可由编程人员任意命名。

120. 属性的隐藏是指子类重新定义从父类继承来的同名变量。

121. 如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。 122. 一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。

第 10 页 共 33 页

164. 使用选择法对数组a的数据进行升序排序,然后输出排序后的结果。 165. 计算数组各元素的和。 166. abcxyz 167. Hello

168. 将字符串\,\,\,\存储到LinkedList中,并输出链表中共有多少

个节点。

169. 取得主线成的名字,并在屏幕上输出。 170. 5

-10

171. 在Applet界面中显示一些由直线段、矩形框和椭圆和文字组成的图形,其中:直线

段从坐标(30,5)起到坐标(100,45)止;矩形左上角坐标为(30,50),长为50,高为20;椭圆外接矩形左上角坐标为(30,80),水平轴长50,垂直轴长40;文字内容为“They are figures!”,在坐标(30,150)处从左到右水平输出。

172. a=42

i=6

173. 1 2 3 4 5 6 7

174. 创建一个标题为\一个简单菜单窗口\的窗体,窗体中显示有\文件\字样的菜单。 175. actionPerformed(),当在文本域中按回车键时,该方法被调用,其功能为取文本域中

的文本,转换为int型数据赋给i,通过repaint()而调用paint()方法输出结果。

176. 文件字符流,得到文件Test.java中每一行的行号。 177. Hello

178. 从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。 179. URLConnection对给定的URL资源(http://www.swust.edu.cn)进行读取,并显示在

屏幕上。

180. 使用BufferedReader类从键盘接收一个整数和一个实数,计算它们的和,然后在屏

幕上输出。

四、 填空题

181. 0

182. 分支结构 183. false

184. return a+b 185. .java

186. 帮助文档 或者 API文档 187. void 188. 乘法

189. 除2取商 或者 除以2

第 31 页 共 33 页

190. 循环语句 或者 循环体 191. boolean 192. 从左到右 193. case 194. throw 195. Throwable 196. 创建

197. 子类的访问控制(或其它等价形式) 198. new 199. static

200. 成员方法 201. 类名

202. implements 203. 类 204. 类 205. final 206. 90

207. boolean 208. -9

209. public static main(String[] args) 或者public static main(String args[]) 210. equals()

211. 实现Runnable接口 212. 阻塞 213. 1000 214. 新建 215. 低优先级 216. 容器

217. CardLayout 218. BorderLayout

219. JButton gb = new JButton(\关闭\220. 内容面板 221. 对象流 222. InputStream

223. Filteroutputstream 224. 内容

225. str=dis.readUTF( ); 226. HTML 227. App1.class

228. Java.applet.Applet 或者 Applet

第 32 页 共 33 页

229. getPatameterInfo() 230. 内容面板 五、编程题 (略)??

第 33 页 共 33 页

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

Top