步遥情感网
您的当前位置:首页JAVA试题及答案50道选择题-java选择题及答案

JAVA试题及答案50道选择题-java选择题及答案

来源:步遥情感网
选择题

1、JAVAT定义的版本中不包括:(D )

A JAVA2 EE B JAVA2 Card C JAVA2 ME D JAVA2 HE E JAVA2 SE

2

下列说法正确的是( A )

A、JAVA程序的main方法必须写在类里面 B、JAVAS序中可以有多个 main方法 C JAVA程序中类名必须与文件名一样

D JAVA 程序的 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=\"M\";

D boolean a= = false;

6 以下 ( C )不是合法的标识符

A

STRING B x3x; C void D

de$f

7 表达式 (11+3*8)/4%3的值是 ( D )

A 31

(大括号 ) {}B 0 C1

8

( A )表达式不可以作为循环条件

A i++; B i>5;

C bEqual = str.equals(\"q\"); D count = = i;

9

运算符优先级别排序正确的是( A )

A 由高向低分别是: () ! 算术运算符关系运算符逻辑运算符

赋值运算符;

B 由高向低分别是: ()关系运算符算术运算符赋值运算符

逻辑运算符;

C 由高向低分别是: ()算术运算符逻辑运算符关系运算符

赋值运算符;

D 由 高向低分别是: () ! 关系运算符赋值运算符算术运算符

逻辑运算符; 以下程序的运行结果是: ( 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. B. C. D.

666 667 677 676

10

11 下列值不为 true 的表达式有( C ) 。

A \"john\" = = \"john\"

B \"john\".equals(\"john\") C \"john\" = \"john\"

D \"john\".equals(new String(\"john\"))

12 下列输出结果是( C )

int a = 0 ;

while ( a < 5 ) {

switch(a){

case 0:

case 3 : a = a + 2; case 1 :

case 2 : a = a + 3;

case 3 : a = a + 5; }

}

( a ) ; A 0 B 5 C 10 D 其他

13 下列代码输出结果是 ( B )

int i = 10;

while ( i > 0 ){ i = i + 1;

if ( i = =10 ){ break; }

}

A. while 循环执行 10 次 B. 死循环

C. 循环一次都不执行 D. 循环执行一次 14

下面有关 for 循环的描述正确的是( A )

A for 循环体语句中,可以包含多条语句,但要用大括号括起来 B for 循环只能用于循环次数已经确定的情况 C、在for循环中,不能使用break语句跳出循环 D for 循环是先执行循环体语句,后进行条件判断 下列( A C )属于引用数据类型(选择两项)

A String B char

C 用户自定义的 Student 类类型 D int

15

16

对象的特征在类中表示为变量,称为类的( B ) 。 A 对象 B 属性 C 方法

D 数 据类型

、 在java中下列关于自动类型转换说法正确的是( A ) A 基本数据类型和 String 相加结果一定是字符串型 B char 类型和 int 类型相加结果一定是字符 C double 类型可以自动转换为 int

D char + int + double +\"\" 结果一定是 double;

17

18

关于类的描叙正确的是( BD) (选择两项)

A 在类中定义的变量称为类的成员变量,在别的类中可以直接使用 B 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控

制流块中

C 使用别的类的方法仅仅需要引用方法的名字即可

D 一 个类的方法使用该类的另一个方法时可以直接引用方法名

下列关于字符串的描叙中错误的是( BC ) (选择两项) A 字符串是对象

B、String对象存储字符串的效率比 StringBuffer高

C、可以使用 StringBuffer sb=\"&里是字符串\"声明并初始化 StringBuffer

对象 sb

D String 类提供了许多用来操作字符串的方法:连接,提取,查询等 以下( D )代码,能够对数组正确初始化(或者是默认初始化) 。

A int[] a;

B a = {1, 2, 3, 4, 5};

C int[] a = new int[5]{1, 2, 3, 4, 5}; D int[] a = new int[5];

19

20

21

、 score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读 下面代码,程序运行结果是( B )

temp = score[0];

for (int index = 1;index < 5;index++) {

if (score[index] < temp) {

temp = score[index]; } } A. B. C. D.

求最大数 求最小数

找到数组最后一个元素 编译出错

下面关于数组的说法中,错误的是( AB ) (选择两项)

A 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值

元素值为空

B 数组可以在内存空间连续存储任意一组数据 C 数组必须先声明,然后才能使用 D 数 组本身是一个对象

、 在Java中,关于构造方法,下列说法错误的是(C ) A 构造方法的名称必须与类名相同 B 构造方法可以带参数 C 构造方法不可以重载

D 构 造方法绝对不能有返回值

22

23

24 执行下面代码结果( D )

for(int i=0;;){

System.out.println(\"这是\"+i); break; }

A 语法错误,缺少表达式 2 和表达式 3 B 死循环

C 程序什么都不输出 D 输出:这是

0

25 下面代码输出结果是( B ) 。

int i=0,s=0; do{

if (i%2 = = 0 ){

i++;

continue; } i++;

s = s + i;

} while (i<7);

System.out.println(s);

A 16 B 12 C 28 D 21

26、 下面(C )不是String类提供的合法的方法。

A equals(String) B trim()

C append() StringBuffer D indexOf()

27、 在JAVA中,以下(C )类的对象以键-值的方式存储对象

A B C D

28、 给定如下所示的JAVA弋码,则运行时,会产生( B )类型的异常

String s = null; s.concat(\"abc\");

A. ArithmeticException B. NullPointerException C. IOException

D. ClassNotFoundException 29、

给定java代码如下所示,在A处新增下列(AC)方法,是对cal方法的 重载 (选择两项 )

public class Test

{

public void cal(int x, int y, int z) { } //A }

A. public int cal(int x,int y,float z){return 0;} B. public int cal(int x,int y,int z){return 0;} C. public void cal(int x,int z){}

D. public viod cal(int z,int y,int x){}

30、

给定如下 Java 程序代码片段,编译运行这段代码,结果是( B ) java.util.HashMap map = new java.util.HashMap(); map.put(\"name\map.put(\"name\

System.out.println(map.get(\"name\")); A. null B. Jack C. nullJack

D. 运行时出现异常 31、

给定以下JAVA弋码,这段代码编译运行后输出的结果是( C )

public class Test {

public static int aMethod(int i) throws Exception { try{

return i/10;

}catch(Exception ex){

throw new Exception (\"exception in a aMothod\"); }finally{

System.out.print(\"finally\"); } }

public static void main(String [] args) { try{

aMethod(0);

}catch(Exception ex){

System.out.print(\"exception in main\"); }

System.out.print(\"finished\"); }

}

A finallyexception in mainfinished

。B exception in mainfinally C finallyfinished

D finallyexception in mainfinished

32、 在Java中,下面对于构造函数的描述错误的是( BC )(选择两项)

A 类不一定要显式定义构造函数 B 构造函数的返回类型是 void

C 如果构造函数不带任何参数,那么构造函数的名称和类名可以不同 D 一个类可以定义多个构造函数 33、 在Java语言中,下列关于类的继承的描述,正确的是(B )。

A 一个类可以继承多个父类 B 一个类可以具有多个子类 C 子类可以使用父类的所有方法 D 子类一定比父类有更多的成员方法 34、 下列选项中关于Java中super关键字的说法正确的是(A )。

A super关键字是在子类对象内部指代其父类对象的引用

B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类 C子类通过super关键字只能调用父类的方法,而不能调用父类的属性 D 子类通过 super 关键字只能调用父类的属性,而不能调用父类的方法 35、在Java接口中,下列选项中有效的方法声明是( AB )。(选择二项) A public

void aMethod(); B void aMethod();

C protected void aMethod(); D private void aMethod(); 36、 在JAVA勺异常处理模型中,能单独和 巾nally语句一起使用的块是(A )。

A try B catch C throw D throws 37、

分析如下Java代码,编译运行后将输出(B )。

public class Test{

public Test(){}

static void print(ArrayList al){

al.add(2);

al=new ArrayList(); al.add(3); al.add(4); }

public static void main(String[]args){

Test test=new Test();

ArrayList al=new ArrayList(); al.add(1); print(al);

System.out.println(al.get(1)); } } A1 B2 C3 D4 38、

在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自 类,下列选项中的( D )方法不属于 Object 类的方法。

A equals(Object obj) B getClass() C toString() D trim()

Object

39、

下列选项中关于Java中封装的说法错误的是(D )。

A 封装就是将属性私有化,提供共有的方法访问私有属性 B 属性的访问方法包括 setter 方法和 getter 方法 C setter 方法用于赋值, getter 方法用于取值

D 包 含属性的类都必须封装属性,否则无法通过编译

40、

Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正 确的是( A )

A C 不仅继承了 B 中的成员,同样也继承了 A 中的成员 BC 只继承了 B 中的成员 CC 只继承了 A 中的成员 DC 不能继承A 或 B 中的成员

41、

分析选项中关于Java中this关键字的说法正确的是( A ) A、this关键字是在对象内部指代自身的引用 B、this关键字可以在类中的任何位置使用

C、this关键字和类关联,而不是和特定的对象关联 D、同一个类的不同对象共用一个this

在JAVAt, LinkedList类和ArrayList类同属于集合框架类,下列( D )选项42、

中的方法是LinkedList类令而ArrayList类没有的。

A add(Object o)

B、add(int index, Object o) C、remove(Object o) D、 removeLast() 43、

在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了 ArrayList类的对象bookTypeList,则下列语句中能够实现 断列表中是否存在字符串小说”的是(C )o

A bookTypeList.add('小说\");

B、bookTypeList.get('小说\");

C、bookTypeList.contains('小说\"); D、(\"小说) 44、

给定如下Java代码,其中第( 无答案)行代码有错误

import java.util.

class Tesr (

put Lie stat ic void main (String []

) \\

List pList = new AcuayList();

pLisL.add(\"A,,

J ; 6

pLlst-addCT**); 7

工口匚(Lnc i = □; KpList.size () ; 1++J (

8

StLLinq str = pList .get (i) toStr ing (); 9

. pi: int (str) j

10 11

12

A、4 B、5 C、6 D、7 E、8 F、9 45、

以下关于布局的说法,错误的是( B )

A、BorderLayout是边框布局,它是窗体的默认布局 B、null是空布局,它是面板的默认布局

判 C、FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序

从左向右排列, 一行排满之后就转到下一行继续从左至右排列

D、 GridLayout 是网格布局,它以矩形网格形式对容器的组件进行布置。

容器被分成大小相等的矩形,一个矩形中放置一个组件

46、

以下用于创建容器对象的类是( AC ) (选择两项)

A、 Frame B、 Checkbox C、 Panel

D、 TextField

47、

以下关于抽象类和接口的说法错误的是( E )

A、抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次 继

承。但是一个类却可以实现多个接口。 B、 在抽象类中可以没有抽象方法

C、 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象

类。接口中的方法都不能被实现

D、 接 口中定义的变量默认是 public static final 型,且必须给其初值,所

以实现类中不能重新定义,也不能改变其值。 E、 接 口中的方法都必须加上 public 关键字。

关于面向对象的说法正确的是( A )

A、 类可以让我们用程序模拟现实世界中的实体 B、 有多少个实体就要创建多少个类

C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,

但是要知道类的内部是如何实现

D、 现 实世界中的某些实体不能用类来描述

48、

一、单项选择题

1.下面( B )是合法的 Java 标识符。 A、 #_pound B、 _underscore

2.下面( D A、 float f=1.3;

C、 5Interstate D、 class

)赋值语句不会出现编译警告或错误。

B、 char c=\"a\"; C、 byte b=257;

D、 int i=10;

3 .编译一个定义了两个类和三个方法的 ( D )个字节码文件。

A、5个字节码文件,以“.jav的扩展名 为扩

Java 源程序文件,总共会产生 B、 2 个字节码文件,以 “ .java

展名

C、5个字节码文件,以“.clasS;扩展名 为扩D、 2 个字节码文件,以 展名 “ .class

4.有关类的说法,正确的是(

A、类具有封装性,所以类的数据是不能被访问的

R类具有封装性,但可以通过类的公共接口访问类中的数据 C声明一个类时,必须使用 public修饰符 D、每个类中必须有 main方法,否则程序无法运行 5.执行完下面程序片段后, (

B )的结论是正确的。

int a, b, c; a = 1; b = 2;

c = (a + b > 3 ? a++ : b++); A、 a 的值是 2, b 的值是 3 B、 a 的值是 1, b C、 a 的值是 1, b 的值是 2

D、 c 的值是 false

6.将类的成员的访问权限设置为默认的,则该成员能被( A、同一包中的类访问 R其他包中的类访问 C所有的类访问

A )

3

的值是 D、所有的类的子类访问

7.下面的方法重载,正确的是( A、 int fun(int a, float b)

{ } float fun(int a, float b) { }

C、 float fun(float a) { }

float fun(float a, float b) { } 8.下面关于继承的说法,正确的

C )。

B、 float fun(int a, float b) { } float fun(int x, float y) { }

D、 float fun1(int a, float b) { } float fun2(int a, float b) { }

D )。

B、一个类可以有几个超类 C ) 。

是(

9.下面关于多态性的说法,正确的是(

A、一个类中不能有同名的方法

B、子类中不能有和父类中同名的方法

C、子类中可以有和父类中同名且参数相同的方法

D、多态性就是方法的名字可以一样,但返回的类型必须不一样 10 .关于下面程序, ( A )的结论是正确

的。

class J_SubClass extends J_Test { } public class J_Test { J_Test(int i) {

System.out.println(i); }

public static void main(String[] args) { J_SubClass a = new

}

A、不能通过编译,因为类 J_Test没有定义无参数的构造方法 B、不能通过编译,因为类 J_SubClas殿有定义无参数的构造方法 C、不能通过编译,因为没有实现 J_SubClass(int的构造方法 D、可以成功通过编译

11 .关于下面程序片段, ( B

String a = \"Java\"; String b = \"Java\"; String x = \"Ja\"; String y = \"va\"; String c = x + y; A、 a和 b指向同一个实例对象, B、 a和 b指向同一个实例对象, C、 a和 b不指向同一个实例对象, D、 a和 b不指向同一个实例对象, 12 .假设下面的程序代码都放在

)的结论是正确的。

a 和 c 指向

同一个实例对

a 和 c 不指向同一个实例

MyClass.java文件中, ( D )程序 B、 package mypackage;

import java.awt.*; public class myClass { }

D、 /*This is a comment*/

package mypackage; import java.awt.*;

代码能够编译通过。

A、 import java.awt.*;

package mypackage; class MyClass { } C、 int m;

package mypackage; import java.awt.*; class MyClass { }

13 . 当 需 要在 文 件 中写 入 字 符 而 不 是 字 节时 , 在 下 面 的 类

中 最好 选用 B )类。 A、 java.io.RandomAccessFile B、 java.io.PrintWriter C、 java.io.PrintStream D、 java.io.PrintOutputStream

14 .关于事件监听,正确的是( C ) 。 A、一个事件只能监听一个组件 B、一个事件只能监听处理一种事件

C、一个组件可以注册多个事件,一个事件也可以注册到多个 组件

D、一个组件只能引发一种事件

二、填空题

1 . Clas洪是由Java编译器自动生成的,它伴随每个类。 2 .任何一个Java程序都默认引入一个包,这个包的名字是

java.lang

3 .在 Java 语言中,有一个类是所有类或接口的父类,这个类的名称是

java.lang.Object 。 4 .在 Java 中所实现的二维数组,实际上是由一维数组构成的数组 。 5.在 Java 中,字符串是作为对象出现的。

6 .接口可以看作是仅容纳抽象方法 、常量,而又不能直接生成对象的特殊抽

象类。

7 . FileInputStream 是字节流, BufferedWriter 是字符流, ObjectOutputStream 是 对象流 。

8 . 在 Java 中, 组件不能地显示出来, 必须将组件放在一定的 容器 中才 能显示。

9 . Applet 是能够嵌入到 HTML 格式中的文件,并能够在浏览器中运行的 Java 类。

三、判断题

1 、 Java 程序一般应当含有 main 方法,因为它是所有

(x )

2、Java语言的标识符是不区分大小写的。 3、 Java语言为所有的Java程序自动导入包

Java 程序执行的入口。

( x )

“java.lang , ”因止匕Java程

可以直接用 “java.lang的类和接口。位于类继承关系层次结构树的根部 的类Object就是在包“java.lan肝的类。(V )

4、有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。

(x )

5、Java语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包 括隐

式调用) , 并且调用父类构造方法的语句必须是子类构造方法的第一 条语句0 ( V )

6 、 Java 语言对内存的释放是采用垃圾回收机制。 Java 虚拟机自动判断并收集

垃圾”,但一般不会立即释放它们的存储空间。 ( x )

7、在编译Java源程序时,计算机根本不会去识别各个变量名的具体含义, 因此命名

规范对编写 Java程序而言不是必要的,而且有可能会降低编写 Java源程序的效率。 (x )

一、单项选择题

1 .作为 Java 应用程序入口的 main 方法,其声明格式可以是( A ) A、 public static void main(String[] args) B、 public static int main(String[] args) C、 public void main(String[] args) D、 public int main(String[] args)

2 .在一个合法的Java源程序文件中定义了 3个类,其中属性为public的类 可能有( B )个。

A、 0 B、 1 C、 2 D、 3 3 .下面( B )单词是 Java 语言的关键字。

A、 sizeof B、 abstract C、 null D、 String

4 .下面( C )语句不会出现编译警告或错误。 A、 float f = 1.3; B、 char c = \"a\"; C、 D、 boolean byte b = 25; d = null;

5 .下面程序片段输出的是( D ) 。

int i = 0, j = 9; do {

if(i++ > --j) break;

} while(i < 4);

System.out.println(\"i = \" + i + \" and j = \" + j); A、 i = 4 and j B、 i = 5 and j = = 4 5 C、 i = 5 and j D、 i = 4 and j 6.对于下面( B )类定义,可以通过 “new J_Class生成类J_Class的 实例对象。 A、 public class J_Class { public J_Class(void) { } } B、 public c lass J _Class { } C、 public class J_Class {

public J_Class(String s) { } }

D、 public class J_Class {

public void J_Class() { } public J_Class(String s) { }

7.要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类 的子类访问到, 但是不能被不在同一个包内的其他类访问到。 下面 ( C )

可以满足上述要求。

A、该成员域的封装属性设置为 public B、该成员域的封装属性设置为 private C、该成员域的封装属性设置为 protected D、该成员域不需要特殊的封装属性

8 .关于下面程序, ( D )的结论是正确。

public class J_Test {

public static void main(String[] args) { int[] a = new int[5];

boolean[] b = new boolean[5]; System.out.println(a[4]); System.out.println(b[5]); }

}

A、程序可以通过编译并正常运行,结果输出 “Ofalse B、程序可以通过编译并正常运行,结果输出 “1true C、程序无法通过编译

D、程序可以通过编译,但无法正常运行 9 .下面这段代码会产生( C )个 String 对象。

String s1 = \"hello\";

String s2 = s1.substring(2, 3); String s3 = s1.toString();

String s4 = new StringBuffer(s1).toString(); A、 1 B、 2 C、 3 D、 4 10 .关于下面程序, ( D )的结论是正确的。 public class J_Test {

public static void main(String[] args) { try {

return; }

finally {

System.out.println(\"1\"); }

}

}

A、上面程序含有编译错误

B、上面程序在运行时会产生一个运行时异常 C、上面程序会正常运行,但不产生任何输出 D、上面程序输出“1”

11 .用 “new FileOutputStream( “data.txt 创建一个” ,true)

F”ileOutputStream 实例

对象,则下面( B )说法是正确的。

A、如果文件 “data.txl存在,则将抛出lOException异常

B、如果文件“data.txt存在,则将在文件的末尾开始添加新内容 C、如果文件“data.txt存在,则将覆盖掉文件中已有的内容 D、如果文件“data.txt不存在,则将抛出 ©Exception异常

12 .改变当前容器的布局方式, ( A ) 。

A、调用方法setLayout

B、容器一旦生成,它的布局方式就不能改变 C、调用方法 setLayoutManager D、调用方法 updateLayout

13 .关于小应用程序执行过程的生命周期, ( D )的结论是正确的。

A、 当小应用程序从运行态进入停止态时, 首先要调用的成员方法是B、 当关闭正处于运行态的小应用程序时, 用的成员方法是 destory()

pause() 首先要调 C、当小应用程序从停止态进入运行态时,首先要调用的成员方法是 D 、当关闭正处于停止态的小应用程序时,首先要调用的成员方法是 destory()

14 .下面( D )方法可以用来加载 JDBC驱动程序 A、 类 java.sql.DriverManager 的 getDriver 方法 B、类 java.sql.DriverManager 的 getDrivers 方法 C、 java.sql.Driver 的方法 connect D、类 java.lang.Class 的 forName 方法

paint()

二、概念填空题

1 . Java 语言通过 垃圾回收 机制简化了程序的内存管理。 2 . Java标识符是由 字母、数字、下划线、美元符号 组成的字符序列。

3 .面向对象的计算机语言一般应具有 3 个基本特性,分别是

封装、继承、

多态 。

4 . Java 中的 java.lang.Object 类是最顶层的类,所有其他的类都是它直接或 间接的子类。

5 .在 Java 的基本数据类型中, char 类型采用 Unicode 编码方案,这样,无 论是中文字符还是英文字符,都是占 2 字节内存空间。 6 .类的静态成员属于这个类的 所有对象 。

7 . 一个类要具有可序列化的特性一般 就必须实现接口 java.io.Serializable 。 8 .类 String 本身负责维护一个字符串池。该字符串池存放 字符串常量 所 指向的字符串示例,以及调用过类 String 成员方法 intern 后的字符串示 例。 三、判断题

1、父类的构造方法不可以被子类继承。 ( V )

2、在接口中定义的方法都只能是没有方法体的抽象方法。 9 、 Java 程序分成应用程序和小应用程序两类,所以一个

(V )

Java 程序不可能既

是应用程序,又是小应用程序。 ( x ) 10 、 javadoc 是一种从文档注释生成 HTML 帮助文件的工具。 它可以处理在 java

源 程 序 中 介 于 “ /* 和” “ */ 之” 间 的 注 释 , 并 生 成 相 应 的 程 序 文 档 。

( x )

5、采用事件适配器比采用事件的执行效率要高,因为采用事件适配器 可以只处理所需处理的事件。 ( X ) 11 、每个 java.sql.Statement 实例对象只能对应一个 java.sql.ResultSet 实例对 象, 所以如果执行 SQL 语句返回多个结果, 一般需要分多次取得返回结果。

(V )

、单项选择题

1 .下面选项中, ( B )是 Java 关键字。 A、 then B、 continue C、 java D、 PUBLIC

2 .下面语句中,正确的是( B ) 。

A、 boolean b= ” true ” ; B、 double x=2.5f; C、 char c=A””; D、 float y=0.8d;

3 .设有定义 “int k=3; ,语法正确且值为” true 的表达式是( D ) 。 A、 k=3; B、 k++>3; C、 k--==3&&k++==3; D、 k++==3||++k>3; 4 .设有定义:String s= \"WorldT列语句错误的是( D )。 A、 int m=s.indexOf( ‘ r ’ ); B、 char c=s.charAt(0); C、 int n=s.length(); D、 String str=s.append( ‘ 2’ ); 5 .假设在Java源程序文件“MyClass.jav中只含有一个类,而且这个类必须

能够被位于个庞大的软件系统中的所有 Java 类访问到, 那么下面 ( C )

声明有可能是符合要求的类声明。

A、 private class MyClass extends Object B、 public class myclass extends Object C、 public class MyClass D、 class MyClass extends Object

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

A、与文件目录的层次相同 C、与文件类型相同

B、与文件的结构相同 D、与文件大小相同

B ) 。

7 .下面关于数组的说法,错误的是( B、声明数组时,必须分配内存

A、数组是最简单的复合数据类型,是一系列数据的集合 C、数组的元素可以是值(基本数据类型) 、对象或其他数组 D、一个数组中的所有值都必须是相同的类型 8 .下面关于方法的说法,错误的是(

C ) 。

A、 Java 中的方法参数传递时传值调用,而不是地址调用 B、方法体是对方法的实现,包括变量声明和 Java的合法语句

C、如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自

动生成空的构造方法

D、类的私有方法不能被其子类直接访问

9 .下面关于内部类的说法,错误的是(

A ) 。

A、内部类不能有自己的成员方法和成员变量

8、 内部类可用 abstract 修饰定义为抽象类, 也可以用 private 或 protected

定义

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

10 .在字节流中,可以使用文件名作为参数的类有( A、 DataInputStream B、 BufferedReader C、 FileInputStream D、 FileReader

C ) 。

11 . 语 句 : JTextField=new JTextField(8);, 语 句 中 的 8 表 示 文 本

框 的 A )。 A、列宽

B、所显示的字符用

C行高 D、编号

12 .文档标签 @exception 在文档注释中的格式一般是( A ) 。 A、 @exception 类名 描述 B、 @exception 异常描述

C、 @exception 异常变量名 描述 D、不存在文档标签@exception

二、填空题

1 . Java 虚拟机运行 Java 程序的基本步骤是:首先从后缀为 class 的文

件加载代码到内存中,接着在内存中检测代码的合法性和安全性,然后解 释执行合法和安全的代码。

2 .在Java语言中,字符串直接量是用双引号括起来的字符序列, 字符串不是

字符数组,而是类 String 的实例对象。

3 .类 System 的三个成员域 in、 out 、 err 分别指向标准输入流、标准输出

流和标准错误输出流。

4 .有时运行一个Java小应用程序需要多个文件,如 “.clas文件、声音文件、 图像文件等。 为了提高效率, 可以考虑将运行小应用程序所需要的各种文件做成 一个 jar 文件 。

5 .假设用 Java 语言为某大学(网址为 “hznu.edu.cn )编写了图像处理包”

( image) , 那 么 按 照 Sun 公 司 的 建 议 , 这 个 包 的 名 称 最 好 为

cn.edu.hznu.image 。

6 . 在编写和运行数据库程序之前需要建立起 Java 数据库程序的开发环境, 这

至少需要安装JDK数据库和 JDBC驱动程序 。

7 . 传 递 给 实 现 了 java.awt.event.MouseMotionListener 接 口 的 类 中

mouseDragged 方法的事件对象是 MouseEvent 类。 三、判断题

1 、假设有一个 Java 源程序文件,它只定义了一个具有 public 属性的类 Hello,那么编译该文件的命令是 “javac Hello。\"( x ) 2、switch语句中可以没有 default子句。 ( V ) 3、常量87.363的数据类型是float。

( X )

4、构造方法一般不允许有任何返回值,因此需要在构造方法返回类型处标注 为 void。 ( x )

5 、 如果在定义一个类的时候没有用到关键字 extends, 则这个类没有直接父类。 (x )

6、抽象万法不能含有万法体,并且必须在抽象类中。 ( x ) 7、如果类的访问控制符是 public ,则类中成员的访问控制属性也必须是 public。 ( x )

8、假设文件“a.txt的长度为100字节,那么当正常运行语句 “OutputStream f = new

FileOutputStream(new File( \"a.txt 之底);文件 “a.txt的长

度变为 0 字节。

(V )

9、对于数组 int[][] t = {{1,2,3},{4,5,6}}来说,t.length 等于 3, t[0].length 等于 2。 ( X )

——学年第学期

« Java程序设计 》课程试题

,考试 UA卷

,闭卷 课程号:

□考查 UB卷

口开卷

、单项选择题(20题;每题2分,共40分)

题 号 一 二 三 四 五 六 七 八 九 十 总分 [阅卷教师 各题分数 40 20 10 5 5 20 100 实得分数 1、位运算~(9&5)的运行结果是 A) 9

B) 14 C) 1 D) 5

答案:B (难度系数C知识点:位运算)

2、下列关于JAVA语言特点的叙述中,错误的是。 A) Java是面向过程的编程语言

B) Java支持分布式计算

学号:

试题共 页加白纸 C) Java是跨平台的编程语言 D) Java支持多线程

java基础)

答案:A (难度系数C知识点:

3,定义私有的成员函数或成员变量,正确的是。 A)不需要定义,缺省的访问级就是私有级

B)在类的开头部分集中定义

D)利用private关键字定义

C)成员函数需要定义,而成员变量不需要定义

答案:D (难度系数C知识点:类成员) 4、创建一个标识有 关闭”按钮的语句是。 A) TextField b = new TextField(关闭”); B) Label b = new Label(关闭”); C) Checkbox b = new Checkbox(关闭”); D) Button b = new Button(关'闭”);

答案:D (难度系数C)知识点:GUI编程

5、在编写异常处理的Java程序中,每个catch语句块都应该与 语句块对 应,使得用该语句块来启动Java的异常处理机制。

A) if — else B) switch C) try

D) throw

答案:C (难度系数B)知识点:异常

6、以下关于循环语句描述正确的是 ____ 。 A) for循环不可能产生死循环 B) while循环不可能产生死循环 C) for循环不能嵌套while循环 D)即使条作不满足do ...... while循环体内的语句也至少执行一次 答案:D (难度系数B)知识点:循环 7、Java中的文件是指。

A) java文档生成器 B) java编译器 C) java解释器 D) java类诊断器 答案:C—(难度系数C,JAVA语言特点)

8、Java中 类提供了随机访问文件的功能.

A) RandomAccessFile B) RandomFile C File D) AccessFile 答案:A_ (难度系数B)知识点:数据流 9、实现一个继承接口 Runnable中类需要实现 方法。 A) start B) run C) wait D) paint

答案:B (难度系数B)知识点:多线程

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

三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中 的该类的子类 B)可以被两种类访问和引用:该类本身、该类的所有子类 C)只能被该类自身所访问和修改 D)只能被同一个包中的类访问 答案:C (难度系数: B 知识点:关键字)

11、以下描述正确的是。

A) JAVA不可以用来开发手机程序 B)在JAVA程序中包是唯一自动引入的类库

C)包是JAVA语言的输入输出类库 D) JAVA的包中可以有相同的类名

答案:C (难度系数B)知识点:JAVA简介,包 12、以下关于数组的描述有误的是。

A)整型数组中的各元素的值必须是整型 B)数组是有序数据的集合

C)如数组名为ab,即可以取得该数组的长度 D)数组的下标从1开始

答案:D (难度系数B)知识点:数组

13、下面各类对象不能接受用户输入的是。 A) TextField B) JTextField

C) JTextarea D) Jlable

答案D (难度系数C 知识点:常用组件,可视化)

14、以下语句正确的是 o

A) x+1=5; B) i++=1; C) a++b=1; D) x+=1; 答案:D (难度系数B) 知识点:表达式 15、以下结果为真(true)的是。

A) 10>‘ a' B) ' a' >20C) !true D) (3<5) && (4>10) 答案:B (难度系数B) 知识

点:表达式

16、在Java中,贝责对字节代码解释执行。 A)垃圾回收器 B)虚拟机 C)编译器 D)多线程机制

答案:B; 难度系数:C;知识点:java特性。

17、属于合法的Java标识符。 A) cat B) 5books C) +static D)

答案:A;难度:C;知识点:语法基础

18,下面语句中,不会出现编译警告或错误。

A) float f=1.3; B) char c= \" a© byte b=25; D) boolean b=null; 答案:C (难度

系数B)

19、下列叙述正确的是。 A) final类可以有子类

知识点:赋值相容

B) abstract类中只可以有 abstract方法

C) abstract类上可以有非abstract方法,但该方法不可以用final修饰 D)不可以

同时用final和abstract修饰一个方法 答案:D_ (难度系数B) 知识点:抽象类,抽象方法

20,下列类的定义中,错误的是。A) class x {....}

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

答案:B (难度系数B) 知识点:类的定义

二、填空题(10题;每题2分,共20分)

1、表达式1/2*3的结果是。

答案:0 (难度系数 B)知识点:表达式

2、定义一个包含7个元素的数组a,则该数组的最后一个元素是 。

答案:a[6]_ (难度系数C)知识点:数组

3 设有数组定义:int a[ ] = { 11 , 22,33,44,55,66,77,88,99 };则执行以 下几个语

句后的输出结果是 、、。

for (int i = 0 ; i < a.length ; i ++ )

if ( a[i]%3==0 ) System.out.println(a[i]);

答案:33、 66、 99 (难度系数 B)知识点:运算符

4顺序执行以下两个语句的输出结果是:。

String s =\"广东海洋大学\";

System.out.println(s.length());

答案:12 难度系数B) 知识点:字符串

5读写器是以 ___________ 为基本单位访问文件的,读写器之外的其他输入流、

输出流以及随机访问文件都是以 ____________ 为基本单位访问文件的。 答案:字符 、 字节 (难度系数C)

6、在定义类时,指明类成员的权限修饰符有、

知识点:文件与数据流

和。

答案public protected private 答案Socket

ServerSocket

难度系数B知识点:类的定义 难度系数B知识点:网络基本类

7、在java.net 中提供了两个类: 和, 分别用 来用于客户端和服务器端的Socket 8、不能定义实例的类称为 ,它由关键词 来标明。

答案抽象类 abstract 难度系数B知识点:类的定义,对象使用

知识点:类的定义,派生

知识点:多态机制

9、不能作为超类的称为 ,它由关键词 来标明。

答案最终类、final 难度系数B

10、java 提供的两种多态机制是 和。.

答案重载和覆盖

难度系数(B)

三、判断题(10题;每题1分,共10分)

1 .() 所有的文件输入/输出流都继承于Inputstream /Outputstream类。 答案:出— (难度系数B)知识点:数据流

2 .()抽象类中只能包含抽象方法,不能包含一般方法。

答案:错 难度系数C知识点: 抽象类

3 .() 一个异常处理中finally语句块只能有一个或者可以没有。 答案:对— (难度系数B)知识点:异常

4 . ( ) Java是区分大小写的语言,关键字的大小写不能搞错,如果把类 class 写成Class或者CLASS,都是错误的。

答案:四— (难度系数B)知识点:关键字

JAVA虚拟机自动判

5 .( ) JAVA语言对内存的释放是采用垃圾自动回收机制。

断并收集 垃圾”,但一般不立即释放它们的存储空间。 答案:出—(难度系数B)知识点:内存回收

6 .()子类可以继承父类所有的成员变量和成员方法。

答案:错 (难度系数B)知识点:继承

7 .()访问类的成员,必须以类的对象为前缀。

答案错 难度系数C知识点:类的封装,访问

8 .()诊断和改正程序中错误的工作通常称为程序执行。 答案:错;又t度系数:C;知识点:编程基础。

9 .() 一个包就相当于操作系统的文件夹,包中的类就相当于文件。 答案:对;又t度系数:C;知识点:java特性。 10 .(

)当线程类所定义的run()方法执行完毕,线程的运行就会终止

答案:错 难度系数:B知识点:多线程

四、程序填空题(1题;每题5分,共5分)

1 .下面是关于异常处理的程序,请完善程序。

class IllegalAgeException extends Exception { public String getMessage()

{ return \"Error age\"; } }

class UserTrial { int age;

//在下行划线处填上声明抛弃IllegalAgeException异常的语句 void setAge(int a) CD ____________________________ { if (a>60)

//在下行划线处填上抛出IllegalAgeException异常的语句 age = a; }

}

class ThrowExample {

public static void main (String args口){ UserTrial values = new UserTrial(); try {

values.setAge(75); }

//在下行空白处填上捕获IllegalAgeException异常的语句 _______________ ③ _______________________________ {

System.out.println (e.getMessage()); } } }

(难度系数B)知识点:异常处理 答案:

①throws IllegalAgeException ②throw new IllegalAgeException()

③ catch(IllegalAgeException e )

五、读程序写结果(1题;每题5分,共5分)

1 .下面程序实现将已经存入数组中的值按逆序打印出来。 请将程序空白处补全。

class mm()

{ void fte(int arr口) { for( _ (1) )

{System.out.print( \" \" +arr[i]);} } }

(2) class print_arr

{ public static void main(String args口) {int a□={45,,7,6,0}; (3) pp= new (4);

(5) _______ ;

} } 答案:(1)int i=arr.length-1;i>=0;i++ (2) public (3) mm (4)mm() (5)pp.fte(a)

难度:B

知识点:java程序基本结构,循环,数组,类的定义,对象使用,成员调用。

六、编程题(2题;每题10分,共20分)

1、利用条件运算符的嵌套来完成此题: 学习成绩>=90分的同学用A表示,60-

分之间的用B表示,60分以下的用C表示。 难度系数:B知识点:JAVA程序结构 答案:

public class Prog5{

public static void main(String口 args){ int n = -1; try{

n

Integer.parseInt(args[0]);

=

}catch(ArrayIndexOutOfBoundsException

e){ System.out.println(”请输入成绩\"); return; } grade(n);

private static void grade(int n){

if(n>100 || n<0)

System.out.println(\"输入无效\"); else{

String str = (n>=90)?\"分,属于 A 等\":((n>60)?\"分,属于 B 等\":\"分,

属 于 C 等\");

System.out.println(n+str); } }

}

2、 “public static double random() ”运算下面表达式 (int) (Math.random()*20+0.5)

10000次,

统计其中生成的整数0,1 , 2,…,20的个数分别是多少,并输出统计结果 (难度系数 B)

答案: public class Count {

public static void main(String[] args) { int c[]=new int[21]; int i,ran;

for(i=0;ic[i]=0; }

for(i=0;i<10000;i++) {

ran=(int)(Math.random()*20+0.5); c[ran]++;

}

for(i=0;iSystem.out.println(i+\" 出现的次数是:数组,循环

知识点:

\"+c[i]); } }

因篇幅问题不能全部显示,请点此查看更多更全内容