java期末习题集1

更新时间:2024-06-04 13:24:01 阅读量: 综合文库 文档下载

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

JAVA习题集1(答案在最后)

1

目 录

JAVA基础 .................................................................................................................................................................3 控制结构 ....................................................................................................................................................................7 一、选择题 ........................................................................................................................................................7 字符串 ......................................................................................................................................................................13 一、选择题 ......................................................................................................................................................13 数组 ..........................................................................................................................................................................16 一、选择题 ......................................................................................................................................................16 类和对象 ..................................................................................................................................................................18 一、选择题 ......................................................................................................................................................18 面向对象程序设计 ..................................................................................................................................................22 一、选择题 ......................................................................................................................................................22 多线程 ......................................................................................................................................................................34

一、选择题 ......................................................................................................................................................34 三、多项选择 ..................................................................................................................................................43 异常处理 ..................................................................................................................................................................44 一、选择题 ......................................................................................................................................................44 集合 .......................................................................................................................................... 错误!未定义书签。 参考答案 ..................................................................................................................................................................54 java基础 ..................................................................................................................................................................54 控制结构 ..................................................................................................................................................................54 一、选择题 ......................................................................................................................................................54 字符串 ......................................................................................................................................................................55 一、选择题 ......................................................................................................................................................55 数组 ..........................................................................................................................................................................55 一、选择题 ......................................................................................................................................................55 类和对象 ..................................................................................................................................................................55 一、选择题 ......................................................................................................................................................55 面向对象程序设计 ..................................................................................................................................................55 一、选择题 ......................................................................................................................................................55 多线程 ......................................................................................................................................................................56

二、选择题 ......................................................................................................................................................56 三、多项选择 ..................................................................................................................................................56 异常处理 ..................................................................................................................................................................57

一、选择题 ......................................................................................................................................................57

2

JAVA基础

30、一些已在Java 中定义的类型,如int,被认为是( )类型。

A、 创建 B 、 现存 C、 已定义的 D 、基本 31、在Java中,( )可由“”来表示。

A 、空字符 B 、空字符串 C、 空值 D 、 以上答案都不对

50、下面语句哪个是正确的? ( )

A 、char a='abc'; B、 long l=oxfff; C、 float f=0.23; D、 double b=0.7E-3;

51、以下程序测试String 类的各种构造方法,试选出其运行效果。 ( )

class STR{

public static void main(String args[]){ String s1=new String();

String s2=new String(\ char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,6); byte bytes[]={0,1,2,3,4,5,6,7,8,9}; StringBuffer sb=new StringBuffer(s3); String s5=new String(sb);

System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\ } }

A、 The String No.1 is

The String No.2 is String 2 The String No.3 is a string The String No.4 is string The String No.5 is a string B 、The String No.1 is

The String No.2 is String 2 The String No.3 is a string The String No.4 is tring The String No.5 is a string

3

C 、The String No.1 is

The String No.2 is String 2 The String No.3 is a string The String No.4 is strin The String No.5 is a string D 、以上都不对

52、下面语句段的输出结果是什么? ( ) int i = 9; switch (i) { default:

System.out.println(\ case 0:

System.out.println(\ break; case 1:

System.out.println(\ case 2:

System.out.println(\

A、 default B 、default, zero

C 、error default clause not defined D、 no output displayed 53、下列哪个是合法的标识符、( )

A、c=z B、_Haha C、8nd D、Guang zhou 54、 内部数据类型byte的取值范围是、( )

A、0~65, 535 B、(-32,768)~32,767 C、 (-128)~127 D、(-256)~255

55、 如果定义有变量double d1, d2=4.0则下列说法正确的是、( ) A、变量d1,d2均初始化为4.0 B、变量d2没有初始化,d1初始化为4.0

C、变量d1,d2均未初始化 D、变量d1没有初始化,d2初始化为4.0

56、运行下面代码将将输出什么内容?( )

int i = 1; switch (i) { case 0:

System.out.println(\ break; case 1:

System.out.println(\case 2:

System.out.println(\

4

default:

System.out.println(\}

A、 one B、 one, default C、 one, two, default D、 default

57、 Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。

A、8 B、16 C、32 D、64 78、关于数据类型转换下面描述错误的是( )

A、当两个数据的类型不统一时,必须先进行数据类型的转换,再运算或赋值

B、byte类型数据可以转换为short,int,long类型数据 C、long类型数据有可能转换为byte,short,int类型数据 D、在语句int i=(int) 78.67;中,变量 i的值为79

79、下列定义String变量s的语句中,错误的是( ) A、String s=new “Yes!”; B、String s=new String(“yes!”) ; C、String s; D、String s=”Yes!”; 80、下列关于注释语句的描述错误的是( ) A、多行注释语句的内容,从/*开始,到*/结束 B、多行注释语句也可以是单行语句

C、文档注释语句的内容,从/**开始,到*/结束

D、单行注释语句的内容,从//开始,以分号为结尾句

87、下列关于基本数据类型的说法中,不正确的一项是 ( )

A、boolean是JAVA特殊的内置值,或者为真或者为假 B、float是带符号的32位浮点数 C、double是带符号的64位浮点数 D、char应该上是8位的Unicode字符

88、下列关于溢出的说法中,正确的一项是 ( )

A、一个整型的数据达到整型能表示的最大数值后,再加1,则机器产生上溢,结果为整型的最大值

B、一个整型的数据达到整型能表示的最小数值后,再减1,则机器产生下溢,结果为整型的最小值

5

A 、0 B 、1 C、 2 D、 以上都可以 107、下列语句执行后,x 的值是( ) int x=2; do

{x+=x; }while(x<17);

A 、4 B 、16 C、 32 D、 256 108、下列语句执行后,j 的值是( ) int j=3,i=3; while(--i!=i/j) j=j+2;

A 、4 B、 5 C、 6 D 、7 109、下列语句执行后,i,j 的值是( ) int i=1, j=8; do

{if(i++>--j)

continue;}while(i<4);

A、 i=4,j=5 B 、i=5,j=4 C、 i=4,j=5 D、j=6

110、下列语句执行后,k 的值是( ) int j=4,i,k=10; for(i=2;i!=j;i++) k=k-i;

A、 4 B 、5 C 、6 D 、7 111、下列语句执行后,c 的值是( ) char c='\\0';

for(c='a';c<'z';c+=3) {

if(c>='e') break; }

A 、?e? B、 ?d? C 、?f? D 、?g? 112、下列语句执行后,k 的值是( ) int i,j,k=1;

lable:for(i=1;i<8;i++) {

for(j=1;j<6;j++) { k*=i+j; if(j==3) break lable; }

11

i=5, }

A、 22 B、 23 C 、24 D、 25 113、下列语句执行后,k 的值是( ) int i,j,k=1;

lable:for(i=1;i<3;i++) {

for(j=1;j<4;j++) {

k+=i+j; if(j==3)

continue lable; } }

A、 22

B 、23 C 、24 D、 25 12

字符串

一、选择题

2、下面哪个是对字符串String的正确定义 ( )

A、String s1=”\\n\\t null” B、String s2=?null?

C、String s3=(String) ?abc? D、String s4=(String) ?\?? 3、 给出下面一段程序,选择运行结果( )

public class X{

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

for(int x=0;x

命令行执行、 java X a b 结果是下面哪一个?

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

4、如何将字符串转换为数值?( )

A、利用字符串对象的toString函数将字符串转换为数值

B、利用数值类的parseInt,parseDouble等函数将字符串直接转换为数值

C、利用数值类的静态函数valueOf将字符串转换为数值 D、利用数值类的静态函数intValue将字符串转换为数值 5、阅读下面代码

if(x==0){System.out.println(“小明”);}

else if(x<-2){System.out.println(“小华”);} else{System.out.println(“小军”);}

若要求打印字符串“小军”,则变量x的取值范围是( )。 A、x=0&x<=-2 B、x>0 C、x>= -2 && x!=0 D、x<= -2 && x!=0

6、 下面那个选项是正确的包含50个字符串数组的声明?( ) A、String obj[50]; B、String[] obj; C、Object obj[50]; D、Char obj[50];

29、以下是关于字符串运算的代码,执行该代码段的输出结果是( )

String s=″0123456789″,sl,s2; sl=s.substring(2);s2=s.substring(2,5);System.out.println(s1+s2);

A、0122345 B、23456789234

41、下面哪些语句能够正确地生成5个空字符串?( ) A、 String []a=new String[5]; for( int i=0;i<5;a[i++]=null); B 、String a[]={\ C、String a[5];

13

D、 String[5]a;

44、已知 String 对象 s=\,则 s.substring(2, 5)的返回值为( )

A、\ B、 \ C、 \ D 、\ 45、请看下面的代码 String s = “people”; String t = “people”;

String c[ ] = {?p?,?e?,?o?,?p?,?l? ,?e?};

下面哪一选项的语句返回值为真:( )

A、 s .equals(t); B、 t .equals(c); C、 s==t; D、t==c; 46、已知 s 为一个 String 对象,s=\,则 s.charAt(1)的返回值为( )

A、a B、b C、f D、g 47、请看下面的代码 String s = “good”;

下面选项语句书写正确的是:( )

A、s= “student”; B、char c = s[1];

C、int len = s .length; D、String t = s. LowerCase( );

48、正确创建一个含有 5 个元素的字符串数组的选项是:( ) A 、String s[ ] = String[5]; B 、String s[ ]={“”, “”, “”, “”, “”}; for(int i=0;i<5;s[i++]=“”);

C、 String s[5]; D、 String [5]s; 49、请看下面的代码 public class class1{

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

public static void main(String args[ ]){ class1 x=new class1( ); x.change(x.str,x.ch);

System .out .println(x.str +\ }

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

}该程序的输出结果是:( ) A、Boy and dbc B、Boy and abc C、Girl and dbc D、Girl and abc 50、下面的程序段输出的结果是( )。 StringBuffer buf1=new StringBuffer(20);

System.out.println(buf1.length()+”,”+buf1.capacity());

14

A 、0,20 B 、0,null C、 20,20 D、 0,0

15

数组

一、选择题

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

A、定义了一个名为 a 的一维数组 B、a 数组有 3 个元素 C、a 数组的元素的下标为 1~3 D、数组中的每个元素都是整型

28、能正确创建一个2行5列的int型数组的语句是( ) A、 new integer[2][5]; B、 new integer[5][2]; C、 new int[2][5]; D、 new int[1][4]; 29、在一个m*n的数组中,m 代表( )

A、 该数组的列数 B、 数组元素的总个数 C 、该数组的行数 D、 每一行元素的数目

30、语句( )将把一个5行3列的数组赋值给一个int型二维数组变量myArray

A、 myArray=new int[5][3] B、 myArray=new int[4][2] C 、myArray=new int[3][5] D、 myArray=new int[2][4] 33、下面哪个语句正确地声明一个整型的二维数组? ( ) A、 int a[][] = new int[][]; B、int a[10][10] = new int[][]; C、 int a[][] = new int[10][10]; D、int []a[] = new int[][10]; 34、若已定义:int a[]={0,1,2,3,4,5,6,7,8,9};则对a数组元素正确的引用是( )

A、a[-1] B、a[9] C、a[10] D、a(0)

35、在下述Java语言语句中,错误的创建数组的方法是 ( ) A、int intArray [ ]; intArray=new int[5]; B、int intArray [ ]=new int[5];

C、int [ ] intArray ={ 1,2,3,4,5}; D、int intArray [5]={ 1,2,3,4,5}; 36、为了定义三个整型数组 a1.a2.a3,下面声明正确的语句是( ) A、intArray [ ] a1,a2; int a3[ ]={1,2,3,4,5}; B、int [ ] a1,a2; int a3[ ]={1,2,3,4,5}; C、int a1,a2[ ]; int a3={1,2,3,4,5}; D、int [ ] a1,a2; int a3=(1,2,3,4,5);

37、在创建数组时,下列创建的方法中合法的是 ( ) A、int a[ ] [ ]=new a[10][5]; B、 int a[]=new int[10 ]; C、 int [ ]a=new a[10 ]; D、 int a[]=new a[10 ]; 38、下面哪条语句定义了5个元素的数组,其中正确的是( ) A、int[] a={22,23,24,25,12}; B、int a[]=new int(5); C、int[5] array; D、int[] arr;

16

39、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的( ) A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空 40、设有定义 int[ ] a=new int[4]; ,a 的所有数组元素是( ) A、 a0, a1, a2, a3 B 、a[0], a[1], a[2], a[3]

C、 a[1], a[2], a[2], a[4] D、 a[0], a[1], a[2], a[3], a[4] 41、已知:int[] a = new int[88];在下列给出的数组元素中,非法的是( )

A、a[0] B、a[1] C、a[88] D、a[87]

42、下面哪个选项正确地声明了一个字符串数组:( )

A、char str[] B、char str[][] C、String str[] D、str[10]

43、请看下面的程序段: public class class1{

public static void main(String a[]) { int x [] = new int[8];

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

当编译和执行这段代码时会出现:( )

A、有一个编译错误为“possible reference before assignment” B、有一个编译错误为“illegal array declaration syntax” C、有异常出现为“Null Pointer Exception” D、正确执行并且输出 0

17

String 类和对象

一、选择题

11、下列哪个类声明是正确的( )

A、 public void H1{?} B 、public class Move(){?} C、 public class void number{} D、 public class Car{?} 12、下面的方法声明中,哪个是正确的( )

A、 public class methodName(){} B、 public void int methodName(){}

C、 public void methodName(){} D、public void methodName{}

13、下述哪些说法是不正确的?( )

A、 实例变量是类的成员变量 B、 实例变量是用static关键字声明的 C、 方法变量在方法执行时创建 D、方法变量在使用之前必须初始化

14、下面对构造方法的描述不正确是( )。

A、 系统提供默认的构造方法 B、 构造方法可以有参数,所以也可以有返回值

C、 构造方法可以重载 D、 构造方法可以设置参数 15、定义类头时,不可能用到的关键字是( )。

A、 class B、private C、extends D、public 16、下列类头定义中,错误的是( )。 A、public x extends y {...} B、 public class x extends y {...}

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

17、设 A为已定义的类名,下列声明A类的对象a的语句中正确的是 ( ) 。

A、 float A a; B、 public A a=A( ); C、 A a=new int( ); D、static A a=new A( ); 18、设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是 ( )。

A、 void X(int k ){ i=k; } B、 X(int k ){ i=k; } C、X(int m, int n ){ i=m; j=n; } D、X( ){i=0;j=0; }

19、有一个类A,以下为其构造方法的声明,其中正确的是( )。 A、void A(int x){...} B、 public A(int x){...} C、public a(int x){...} D、static A(int x){...} 20、下列方法定义中,不正确的是( )。

A、 float x( int a,int b ) { return (a-b); } B、 int x( int a,int b) { return a-b; }

18

C、 int x( int a,int b ); { return a*b; } D、 int x(int a,int b) { return 1.2*(a+b); }

21、设i , j为类X中定义的double型变量名,下列X类的构造方法中不正确的是( A )。

A、double X(double k ){ i=k; return i; } B、 X( ){i=6;j=8; } C、 X(double m, double n ){ i=m; j=n; } D、X(double k ){ i=k; } 22、设 ClassA为已定义的类名,下列声明Class A类的对象ca的语句中正确的是( )。

A、public ClassA ca=new ClassA( ); B、 public ClassA ca=ClassA( );

C、 ClassA ca=new class( ); D、 ca ClassA; 23、设m , n为类A中定义的int型变量名,下列A类的构造方法中不正确的是( )。

A、 void A(int k ){ m=k; } B、A(int k ){ m=k; } C、 A(int m, int n ){m=i; n=j; } D、 A( ){m=0;n=0; }

24、设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是( )。

A、 School ( int m){ ... } B、 void School ( int m){ ... } C、School ( int m, int n){ ... } D、School ( int h,int m,int n){ ... }

25、下列选项中,哪个是java语言所有类的父类( )

A、String B、 Vector C、 Object D、KeyEvent 26、Java中所有的类都是通过直接或间接地继承( )类得到的。( )

A、 java.lang.Object B、 java.lang.Class C、 任意类 D、以上答案都不对 27、对于任意一个类,用户所能定义的构造方法的个数至多为( )。 A、0个 B、1个 C、2个 D、任意个 28、构造方法何时被调用( )

A、类定义时 B、创建对象时 C、调用对象方法时 D、使用对象的变量时 29、类Test1定义如下 public class Test1{

public float aMethod(float a,float 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){ }

19

D、public int aMethod(int a,int b,int c){ }

61、下列关于变量作用域的描述中,不正确的一项是 ( ) A、变量属性是用来描述变量作用域的

B、局部变量作用域只能是它做在的方法代码段内 C、类变量能在类的方法中声明 D、类变量的作用域是整个类

62、下列关于变量作用域的说法中,正确的一项是 ( ) A、方法参数的作用域是方法外部代码段 B、异常处理参数的作用域是方法外部代码段 C、局部变量的作用域是整个类

D、类变量的作用域是类的某个方法 63、System类在哪个包中?( )

A 、java.util B 、java.io C 、java.awt 64、给出下面代码段 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) }

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

A 、line 3 B、 line 5 C、 line 6 65、对于下列代码、 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);

20

D 、java.lang D、 line 10

11) }

第10行语句将调用哪行语句?( )

A 、line 2 B、 line 3 C 、line 6 D、 line 7 66、下列关于构造方法的说话正确的是( ) A、 类中的构造方法不可省

B、 构造方法必须与类同名,但方法不能与class同名 C 、 类的构造方法在一个对象被创建时自动执行 D、 一个类只能定义一个构造方法

67、下列语句中,对构造方法的描述错误的是( ) A、构造方法的名称必须和类名相同

B、构造方法没有返回值,返回类型也不能用void C、构造方法在一个类中可以多次出现

D、当重写了带参数的构造方法,系统默认的不带参数的构造方法依然存在

68、下面关于java中类的说法哪个是不正确的( )

A、类体中只能有变量定义和成员方法的定义,不能有其他语句 B、构造方法是类中的特殊方法

C、类一定要声明为public 的,才可以执行 D、一个java文件中可以有多个class定义

69、下列哪个 不是 面向对象的三大特性之一( )

A、 封装性 B、 继承性 C、多态性 D、重载

70、下面哪种语言 不是 面向对象语言 ? ( )

A、 java B、 C++ C 、 C D、 Smalltalk 71、在创建对象时 必须( ) A、先声明对象,然后才能使用对象

B、先声明对象,为对象分配内存空间,然后才能使用对象

C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象

D、上述说法都对

72、以下叙述不正确的是( )

A、面向对象方法追求的目标是、尽可能地运用人类自然的思维方式来建立问题空间的模型,构造尽可能直观、自然的表达求解方法的软件系统。

B、面向对象方法的优点有、易于维护,可重用性好,易于理解、扩充和修改。

C、面向对象=对象+分类+继承+消息通信。

D、面向对象的基本特征是封装性、继承性和并行性。 73、对于构造函数,下列叙述不正确的是( )。

21

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

B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。

面向对象程序设计

一、选择题

16、下列哪些说法是正确的( ) A、JAVA 语言只允许单继承

B、JAVA 语言中只允许实现一个接口

C、java语言不允许同时继承一个类并实现一个接口 D、JAVA 语言的单一继承使得代码更加可靠 17、方法的重载是指( )

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

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

C、两个以上的方法名字不同,但形参的个数或类型相同

D、两个以上的方法取相同的方法名,并方法的返回值类型相同 18、下列关于类说法正确的是( ) A、类是JAVA语言中的一种复合数据类型 B、类是包含数据变量和方法

C、类是对所有具有一定共性的对象的抽象 D、JAVA 语言的类支持多继承 19、下面哪个说法确( )

A、如果某公共的类被声明在一个源文件中,则该类必须与源文件具有相同的名字

B、JAVA 语言中,一个类只能是实现一个接口

C、如果某源文件包含package语句,则该语句必须是第一个非空、非注释行

D、接口中的方法必须是抽象的,但可以不用关键abstract修饰

20、类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的那些修饰符获得需要的访问控制( )

A、 public B 、不加修饰符 C 、protected D、 private 21、指出下列哪个方法不是方法public void add(int a){}的合理的重载( )

A、public int add(int a) B、public void add(long a) C、public void add (int a,int b) D、public void add(float a)

22

22、下列说法正确的是( )

A、用final修饰一个类表明这个类不可以派生子类 B、用final修饰一个方法表明这个方法不能被覆盖 C、用final修饰一个变量会变成一个常量 D、用final修饰的类可以被继承

23、下列程序片断用的是什么机制? ( ) class Student{ String name; int age; Student(){}

Student(String n, int a){name=n; age=a;} Student(String n){name=n;} }

A、方法的覆盖 B、 构造方法重载 C、多态 D、 这是错误的代码

24、关于抽象类下列哪个描述正确? ( )

A、抽象类不能包含抽象方法。 B、接口和抽象类是一回事。

C、抽象类不能实例化,即不能生成对象。 D、抽象类可以实例化对象。

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

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

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

26、编译并运行以下程序,以下描述哪个选项是正确的( ) class X{

protected String toString(){ return super.toString();} } A、编译通过运行无异常 B、编译通过但运行时出错 、 C、行 2 出错,不能成功编译 D、不能成功编译,行 3 出错

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

23

28、类 Test1 定义如下: public class Test1{

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

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

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 ) 29、类 Test1 、 Test2 定义如下、 1 . public class Test1

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

5. public class Test2 extends Test1{ 6 . 7 . }

将以下哪种方法插入行 6 是不合法的。( ) A、float aMethod ( float a , float b ) { }

B、public int aMethod ( int a , int b ) throws Exception{ } C、public float aMethod ( float p , float q ) { }

D、public int aMethod ( int a , int b ) throws IOException{ } 30、下列有关 Java 中接口的说法哪个是正确的?( ) A、接口中含有具体方法的实现代码

B、若一个类要实现一个接口,则用到 “implements” 关键字 C、若一个类要实现一个接口,则用到“ extends ”关键字 D、接口不允许继承

31、如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件 ?( ) A、 smallButton.add(myListener);

B、 smallButton.addListener(myListener);

C、 smallButton.addActionListener(myListener); D、 smallButton.addItem(myListener);

32、不允许作为类及类成员的访问控制符的是( )。 A、public B、private C、static D、protected 33、对于构造方法,下列叙述不正确的是( )

A、 构造方法是类的一种特殊方法,他的方法名必须与类名相同。 B、 构造方法的返回值类型只能是void型。

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

24

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

34、在JAVA中,一个类可以同时定义许多同名的方法,这些方法的形式参数的个数、类型、顺序各不相同,返回值也可以不相同,这种面向对象程序特征称为( )

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

35、ArrayList类的( )方法可用来检索ArrayList中一个特定位置上放的元素

A、get B、insert C、getAt D、retrieve 36、若已经使用A A类创建对象a和BB类创建对象b,则下面的哪一个方法调用是正确的( )

A、 a.show B、 AA.show C、 AA.show D、 a.show

b.show BB.show b.show BB.show 37、若在某一个类定义中定义有如下的方法 abstract void performDial( );

该方法属于( )。

A、本地方法 B、最终方法 C、成员方法 D、抽象方法

38、设有下面两个类的定义、

class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } }

问:类Person和类Student的关系是( ) 。 A、包含关系 B、继承关系

C、关联关系 D、无关系,上述类定义有语法错误 39、如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:void mymethod(int a),则子类方法的定义不合法的是、( )

A、public void mymethod(int a) B、protected void mymethod(int a)

C、private void mymethod(int a) D、void mymethod(int a) 40、ArrayList对象的( )方法将返回一个可一次访问ArrayList中元素的迭代器

A、 iterator B、 getIterator C、returnTterator D、 以上答案都不对

86、接口A的定义如下,指出下列哪些类实现了该接口? ( ) interface A {

25

int method1(int i); int method2(int j); }

A、class B implements A { int method1() { } int method2() { } }

B、 class B {

int method1(int i) { } int method2(int j) { } }

C、class B implements A { int method1(int i) { } int method2(int j) { } }

D、class B extends A { int method1(int i) { } int method2(int j) { } } 87、下面的是关于类及其修饰符的一些描述,不正确的是、( )。 A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。 D、abstract类定义中可以没有abstract方法。

88、 对于构造函数,下列叙述不正确的是( )。 A、构造函数也允许重载。

B、子类无条件地继承父类的无参构造函数。 C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数可以相互调用。 89、下列选项中,定义抽象类的关键字是( )。

A、interface B、 implements C、 abstract D、 class 90、如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?( )

A、 public B、 private C 、protected D、transient 91、下面的哪个选项是正确的?( ) class ExSuper{ String name; String nick_name;

26

public ExSuper(String s,String t){ name = s;

nick_name = t; }

public String toString(){ return name; } }

public class Example extends ExSuper{ public Example(String s,String t){ super(s,t); }

public String toString(){

return name +\ }

public static void main(String args[]){

ExSuper a = new ExSuper(\ ExSuper b = new Example(\ System.out.println(\ System.out.println(\ } }

A、 编译时会出现例外。 B、 运行结果为、a is First b is second C、 运行结果为、a is First

b is Secong a.k.a 2nd D 、运行结果为、a is First a.k.a 1nd b is Second a.k.a 2nd

92、运行下列程序的结果是哪个?( ) abstract class MineBase { abstract void amethod(); static int i; }

public class Mine extends MineBase { public static void main(String argv[]){ int[] ar = new int[5];

for(i = 0;i < ar.length;i++) System.out.println(ar[i]); }

27

}

A、打印5个0。 B、编译出错,数组ar[]必须初始化。

C、编译出错, Mine应声明为abstract。 D、出现IndexOutOfBoundes的例外。

93、有关类Demo,哪句描述是正确的?( ) public class Demo extends Base{ private int count; public Demo(){

System.out.println(\ }

protected void addOne() {count++; } }

A、 当创建一个Demo类的实例对象时,count的值为0。

B、 当创建一个Demo类的实例对象时,count的值是不确定的。 C、 超类对象中可以包含改变count 值的方法。 D、 Demo的子类对象可以访问count。 131、下列程序的结果输出为:( ) class Strange{ int j;

Strange(){ this(4); }

Strange(int j){ this.j=j; } }

class MainStrange{

public static void main(string[] args){ Strange funny=new Strange(); System.out.println(“j=“+funny.j); } }

A、 j=2 B、 j=4 C、 j=6 D、 j=7 132、( )可专门用于存储由多个值所形成的分组

A、 集合 B、 属性 C、 访问器 D、 以上答案都不对

133、迭代器提供了一个用以访问集合中每一个元素的( ) A、 计数器 B、 元素 C、 引用 D、 实例变量 134、Java语言的类间的继承的关键字是( )。

28

A、 implements B、 extends C、 class D、 public 135、访问修饰符()用于指明其成员变量只能在该成员变量所属内部来访问( )

A、private B、public C、 dimensional D、 以上答案都不对

156、为了区分重载多态中同名的不同方法,要求:( ) A、参数名不同 B、返回值类型不同 C、采用不同的形式参数列表 D、选项 A B C 都对

157、在某个类中定义一个方法:void GetSort(int x),以下关于能否作为这个方法的重载错 误的是:( )

A、void GetSort(float x){x*=x;}

B、int GetSort(double y){ return(int)(2*y); } C、double GetSort(int x,int y){return x+y; } D、都不能

158、下列对继承的说法,哪个是正确的:( )

A、子类只能继承父类 public 方法和状态 B、子类能继承父类的非私有方法和状态

C、子类能继承父类的所有方法和状态 D、子类只能继承父类的方法,而不继承状态 159、定义类 A 如下: class A

{ int a,b,c;

public void B(int x,int y,int z){a=x; b=y; c=z; } }

下面对方法 B()的重载哪些是正确的:( )

A、public void A(int xl,int yl,int z1){ a=x; b=y; c=z; } B、public void B(int x1,int yl,int z1){ a=x; b=y; c=z;} C、public void B(int x,int y){ a=x; b=y; c=0;} D、public B(int x,int y,int z){a=x; b=y; c=z; } 160、下列说法正确的是:( ) A、Java 中允许一个子类有多个父类

B、某个类是一个类的子类,它仍有可能成为另一个类的父类 C、一个父类只能有一个子类 D、继承关系最多不能超过 4 层 161、下列说法正确的是:( )

A、子类只能覆盖父类的方法,而不能重载 B、子类只能重载父类的方法,而不能覆盖

C、子类不能定义和父类同名同形参的方法,否则,系统将不知道使用哪个方法。

29

D、重载就是一个类中有多个同名但不同形参和方法体的方法 162、关于构造函数的说法正确的是:( ) A、一个类只能有一个构造函数

B、一个类可以有多个不同名的构造函数 C、构造函数与类同名

D、构造函数必须自己定义,不能使用父类的所有构造函数

163、下面是有关子类调用父类构造函数的描述正确的是:( ) A、子类定义了自己的构造函数,就不会调用父类的构造函数 B、子类必须通过 super 关键字调用父类有参数的构造函数

C、如果子类的构造没有通过 super 调用父类构造函数, 那么子类会先调用子类自己的构造函数,再调用父类不含参数的构造函数。 D、创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数

164、声明为 final 的变量不能在子类中覆盖,声明为( )和( )的方法是隐式的 final。( )

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

165、继承性使▁▁成为可能,它不仅节省开发时间,而且也鼓励人们使用已经验证无误和调 试过的高质量软件。( )

A、节省时间 B、软件复用 C、软件管理 D、延长软件生命周期

166、编译运行下面的程序,结果是( )。 Public class A {

public static void main(String[] args) { B b=new B(); b.test(); }

void test() {

System.out.print(“A”); } }

class B extends A { void test() { super.test();

System.out.println(“B”); } }

A、产生编译错误 B、代码可以编译运行,并输出结果:AB

C、代码可以编译运行,但没有输出 D、编译没有错误,但会

30

产生运行时异常

167、已知类关系如下: class Employee;

class Manager extends Employeer; class Director extends Employee; 则以下语句正确的是: ( )

A、 Employee e=new Manager(); B、 Director d=new Manager(); C、 Director d=new Employee(); D 、Manager m=new Director(); 181、下面的说法正确的是: ( )

A、接口是 Java 中的一个重要特点 B、在实现接口函数的时候要用关键字 public

C、在继承一个类时,可以同时实现一个或者多个接口。 D、接口可以内嵌在一个类中

182、声明接口的保留字是( )

A、 interface B、 protect C 、final D、 static 183、下面关于 Vector 类的说法不正确的是:( ) A、类 Vcetor 在 java.util 包中

B、一个向量(Vcetor)对象存放的是一组有序的对象

C、一个向量(Vcetor)对象大小可以根据存放的元素个数的增加而自动增加

D、一个向量(Vcetor)对象中每个元素必须是相同类型的对象 184、下面的接口(类)定义正确的是:( ) A 、public class A { private int x;

public getx() { return x; } }

B、public abstract class A{ private int x; public abstract int getx(); public int amethod() { return 0; } }

C、public class A { private int x;

public abstract int getx(); }

D、public interface Interfacea { private int x; public int getx() { return x; } }

31

185、接口具有下面的特性。( )

A、多重继承 B、不可继承 C、抽象性 D、嵌套 186、定义一个包的关键字是( )。

A、import B、 package C、 interface D、 protected 187、下列选项中,用于在程序开头引入包的关键字是( )。 A 、import B 、implements C、 integer D、 protected 188、以下语句输出的结果是( )。 System.out.println(Math.floor(-0.8));

A 、0 B、 -1 C、 -0.8 D、 0.8

189、下面的程序段执行后,变量 a、b、c 的值分别是( )。 int a,b,c;

a=(int)Math.round(-4.51); b=(int)Math.ceil(-4.51); c=(int)Math.floor(-4.1);

A、 -5, -4, -5 B、 -4,-4,-5 C、 -5,-5,-5 D、 -4,-4,-4

190、下面说法不正确的是 ( )

A、如果某公共的接口被声明在一个源文件中,则接口必须与源文件具有相同的名字

B、如果源文件包含 import 语句,则该语句必须是除空行和注释行外的第一个语句行

C、如果某源文件包含 package 语句,则该语句必须是第一个非空、非注释行 D、接口中的方法不一定是抽象方法,所以可以不用关键字 abstract 修饰

191、在类定义的外部,可以被访问的成员有( )。

A、所有类成员 B、private或protected的类成员 C、public的类成员 D、public或private的类成员

192、现有类A和接口B,以下描述中表示类A实现接口B的语句是( )。

A、 class A implements B B、 class B implements A

C、 class A extends B D、 class B extends A

193、针对Vector MyVector = new Vector(100,50)语句,下面语句中解释正确的是( )。

A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。

B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。

32

C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50

个元素空间单位递增。

D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50

个元素空间单位递增。

194、在Java中,存放字符串常量的对象属于( )类对象。 A、Character B、String C、StringBuffer D、Vector

195、下面语句对集合描述正确的是( )

A、 可以使开发人员的注意力集中到数据存储器上 速应用程序的开发

C、 是Java中预先定义好的类 33

B、 可以加D、 B和C

多线程

一、选择题

1、JAVA实现线程的创建有( )方式。

A、一种 B、两种 C、三种 D、四种 2、Thead类定义于下列哪一个包中?( )

A、Java.io B 、java.lang C、java.util D、java.awt 3、下列那一个包给出了Runnable接口的定义?( )

A、java.util B、java.io C、java.lang D、java.sql 4、线程生命周期中正确的状态是( ) A、新建状态、运行状态和终止状态

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

C、新建状态、可运行状态、运行状态、阻塞状态和终止状态 D、新建状态、可运行状态、运行状态、恢复状态和终止 5、阅读下面编程题

public class Test 2 { public static void main(String args[]){ Thread t=new test2(); t.start();}

public void run(){

sysetem.out.println(\ are you\}

在程序下画线处填入正确选项是 ( )

A、implements Thread B、extends Runnable C、implements Runnable D、extends Thread 6、阅读下面编程题

public class Test implements Runnble{ public static void main(String args[]){

______________________________________; t.start();

public void run(){

sysetem.out.println(\}

在程序下画线处填入正确选项是( )

A、Test t=new Test() B、Thread t=new Thread() C、Thread t=new Thread(new Test() ) D、Test t=new Thread() 7、下列特点中,哪个是Java 虚拟机执行的特点之一?( ) A、字节代码 B、多进程 C、静态连接 D、编译 9、当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是( )

34

A、SomeThread类是包含run()方法的任意java类 B、SomeThread类一定要实现Runnable接口 C、SomeThread类是Thread类的子类

D、SomeThread类是Thread类的子类并且要实现Runnable接口 16、下列关于Java语言中线程的叙述找中,正确的是和一( ) A、线程是由代码,数据,内核状态和一组寄存器组成 B、线程间的数据是不共享

C、用户只能通过创建Thread类的实例建立和控制自己的线程

D、因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果不确定

17、阅读下面程序

public class Try extends Thread{

public static void main (String args[]){ Try t =new Try(); t.start();}

public void run(int j){ int i=0; while(i<5){

system.out.println(\祝你成功!\i++;}}}

该程序要求打印5行“祝你成功!”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是( )

A、将第一行的extends Thread改为implements Runnable B、将第三行的new Try()改为new Thread () C、将第四行t.start()改为start(t)

D、将第七行public void run(int j)改为public void run()

18、线程在生命周期中要经历5种状态。如果线程当前是新建状态,则它可到达的下一个状态是( )

A、运行状态 B、阻塞状态 C、可运行状态 D、终止状态 19、下列关于Java多线程并发控制机制的叙述中,错误的是( ) A、Java中对共享数据操作的并发控制是采用加锁技术 B、线程之间的交互,提倡采用suspend( )/resume( )方法 C、共享数据的访问权限都必须定义为private

D、Java中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生

20、Java程序的并发机制是( )

A、多线程 B、多接口 C、多平台 D、多动态 21、Java虚拟机(JVM)运行Java代码时,不会进行操作是( )

35

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

Top