文档库 最新最全的文档下载
当前位置:文档库 › Java复习题

Java复习题

Java复习题
Java复习题

1.已定义a为int类型的变量。以下选项中,合法的赋值语句是( B )。

A) a +1==2; B) a+=a*6; C) a=8.8f; D) int a=8;

A、不是赋值语句,中间是双等号,是比较;如果改成等号那么表达方式属于非法 C、不能把实数直接给整型变量,要强制转换(int)8.8f D、重复定义

2.Java程序有哪两类? 应用程序(Application)和小应用程序(Applet)

3.为了使包sos中的所有公共类在当前程序中可见,可以使用的语句是( A )。

A)import sos.*; B)package sos.*; C)sos import; D)sos package;

显然需要进行导入,所以使用import,C选项非法。

4.下列的变量定义中,错误的是( A)。

A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100;

标识符的合法原则:字母(包括汉字),数字,_和$这四种组成,但是不能以数字开头。

5.下列的变量定义中,正确的是(D)。

A) boolean b1=”true”; B) float x=6.6; C) byte i=200; D) double y;

A、不应该加双引号

B、6.6默认是double类型,不能直接在这里使用,应该用6.6f,

C、200超出范围(-127~128)

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

A) '|' B) '\'' C) '\n' D) "我"

D是字符串。

7. Java源程序要运行必须经过(编译)和(运行)两个阶段。

8. Java编译器将Java语言编写的源程序编译成(字节码)文件。

9. 下列程序段执行后c的结果是(B )。

int a = 9, b = 11, c;

c= a != b ? a+b : a-b;

A) –2 B) 20 C) 11 D) 9

10. 对于一个三位的正整数n=789,以下结果为8的是(D)。

A) n/10%2 B) (n-n%10)/100 C) n%10 D) n%100/10

11. 有一声明语句为boolean t;下面赋值语句中t的值为false的是(D )。

A)t=5>3; B)t=!false; C)t=(true|false); D)t=(2==3)?true:false;

12. 设 i, j, k, m为已赋值的 int 型变量,下列表达式的结果属于逻辑值的是( A)。

A) i==k & j+k >=m B) i+k C) m++ D) m=i+j

13. 若有定义int x = 13;则执行完语句x %= 8; 后,x的值是(C )。

A) 0 B) 1 C) 5 D) 8

14. 若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是( C)。

A) 0 B) 4 C) -2 D) –4

15. 下列程序段执行后 b3 的结果是(D)。

boolean b1=true, b2=true, b3;

b3= !b1 ? b1 :!b2;

A) 0 B) 1 C) true D) false

16. 与以前的结构化程序设计不同,Java是一种完全(面向对象),而且平台

(中立)的语言,而后者又使得用Java编写出来的程序具有(可移植)性。

17.面向对象程序设计的三个特性是(继承)、(封装)和(多态)。

18. 执行下面程序段后,b, x, y的值分别是( D)。

int x=6,y=8;

boolean b;

b=x>y&&++x==--y;

A)true , 6, 8 B)false , 7, 7 C)true, 7, 7 D)false, 6, 8

因为&&是简洁的与运算,前面如果已经是false,那么后面不再执行。

19. 下列语句序列执行后,m 的值是( C)。

int a=10, b=3, m=5;

if( a==b ) m+=a; else m=++a*m;

A) 15 B) 50 C) 55 D) 5

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

int i=4,j=5,k=9,m=5;

if(i>j||m

A) 5 B) 10 C) 8 D) 9

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

int i=10, j=18, k=30;

switch( j - i )

{ case 8 : k++;

case 9 : k+=2;

case 10: k+=3;

default : k/=j;

}

A) 31 B) 32 C) 2 D) 33

21-1. 下列语句序列执行后,k 的值是(A )。

int i=10, j=18, k=30;

switch( j - i )

{ case 8 : k++; ;break

case 9 : k+=2;

case 10: k+=3;

default : k/=j;

}

A) 31 B) 32 C) 2 D) 33

22. 阅读下面的程序段,回答问题。

if ( x < 5 )

System.out.print(" one ");

else

{

if ( y < 5 )

System.out.print(" two ");

else

System.out.println(" three ");

}

问题:

1)若执行前 x=6, y=8,该程序段输出是什么?(three)

2)若执行前 x=1, y=8,该程序段输出是什么? (one)

23. 以下for循环的执行次数是(B)。

for(int x=0;(x==0)&(x>4);x++);

A)无限次 B)一次也不执行 C)执行4次 D)执行3次

24. 下列语句序列执行后,j 的值是( A )。

int j=1;

for( int i=5; i>0; i-=2 ) j*=i;

A) 15 B) 1 C) 60 D) 0

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

int j=8, k=15;

for( int i=2; i!=j; i++ ) { j-=2; k++; }

A) 18 B) 15 C) 16 D) 17

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

int m=3, n=6, k=0;

while( (m++) < ( -- n) ) ++k;

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

27. 下列语句序列执行后,j 的值是(C )。

int j=8, i=6;

while( --i >4 ) --j;

A) 5 B) 6 C) 7 D) 8

29. 若有循环:

int x=5,y=20;

do { y-=x; x+=2; }while(x

则循环体将被执行(A )。

A) 2次 B) 1次 C) 0次 D) 3次

30. 结构化程序设计的三种基本流程控制结构是:___顺序__、__选择__、__循环__。

31. 下面程序的功能是求2 到100 之间的素数,请将程序补充完整。

(0 continue Label1 )

public class Class1

{ public static void main( String args[] )

{ Label1: for(int i=2;i<100;i++)

{ for(int j=2;j

{

if( i%j==_____)

_________;

}

System.out.print(i+"\t");

}

}

}

33. 下列方法定义中,不正确的是(D)。

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

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

C) int x( int a,int b ); { return a*b; }

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

34. 以下方法fun的功能是求两参数之积。(return a*b)

int fun ( int a, int b ) { __________________; }

35. 以下方法fun的功能是求两参数的最大值。(return a>b?a:b)

int fun ( int a, int b ) { __________________; }

38. 在一个应用程序中定义了数组a:int[ ] a={1,2,3,4,5,6,7,8,9,10};,为了打印输出数组a的最后一个数组元素,下面正确的代码是( BC)。

A System.out.println(a[10]);

B System.out.println(a[9]);

C System.out.println(a[a.length-1]);

D System.out.println(a[a.length]);

39. 下面关于数组定义语句正确的是( ABC )。

A)int[ ] a1,a2; B) float a0[ ]={ 3.0f,3.5f,5.0f,7.8f };

C)double[] d=new double[8]; D)float f[ ]=new {3.0f,3.5f,5.0f,7.8f};

41. 若已定义byte[ ] x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是( C)。

A) x[5-3] B) x[k] C) x[k+5] D) x[0]

42. 以下说法不正确的是( D)。

A) 类是同种对象的集合和抽象 B) 类是抽象的数据类型

C) 类是复合数据类型 D) 类是一个对象

43. 下列选项中,用于在定义子类时声明父类名的关键字是(C)。

A)interface B) package C) extends D) class

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

A)public x extends y {...}

B) public class x extends y {...}

C)class x extends y implements y1 {...}

D)class x {...}

45.通过类MyClass中的不含参数的构造函数,生成该类的一个对象obj,可通过以下语句实现: _______________________________。

(MyClass obj=new MyClass( );)

46. 下面是一个类的定义,请完成程序填空。(Myclass int j)

public class ____________

{

int x, y;

Myclass ( int i, _______) // 构造函数

{

x=i; y=j;

}

}

47. 分析以下程序段执行后a和b的值分别是多少。(2 2)

int a=0,b=1;

switch(a){

case 0: a++;

switch(b){

case 0: b++;break;

case 1: b++;break;

}

case 1: a++;break;

}

48. 编译和运行以下程序段,会有什么结果?

class Array {

public static void main(String[] args) {

int length = 100;

int[] d = new int[length];

for (int index = 0; index < length; index++)

System.out.println(d[index]);

}

}

A 代码不能编译,因为数组声明不正确;

B 代码不能编译,因为数组元素没有初始化;

C 在标准输出中显示数字0-99;

D 在标准输出中显示100 个0;

49、在Java中不属于整型变量的是()

A、long

B、byte

C、double

D、short

E、int

50、以下变量声明正确的是()

A、int Int%;

B、float f_double;

C、byte b=1264;

D、char &address; ☆51、在某个类中存在一个方法:void getSort(int x),以下哪个是方法重载的声明()

A、public getSort(float x)

B、int getSort(int y)

C、double getSort(int x,int y)

D、void getsort(int x,int y)

☆52、下列方法定义中,正确的是()

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

B、 double x( a,b ) { return b; }

C、 double x( int a,int b) { int w; w=a-b; }

D、 int x( int a,int b) { return a-b; }

53、下面代码中的?处可以为()

? methodA(byte x, double y) {return (short) x/y * 2;} }

A. double

B. int

C. long

D. short

E. float

54、String f = "green";

boolean[] bar = new boolean [1];

if (bar[0]) f = "blue";

对于以上代码描述正确的是()

A.f的值为null

B.f的值为"blue"

C.f的值为"green"

D.将产生编译错误

55、以下由do-while语句构成的循环执行的次数是()

int k = 0;

do { ++k; }while ( k <=1 );

A、执行1次

B、执行2次

C、无限次

D、有语法错,不能执行

56、下列语句序列执行后,k 的值是()

int x=17, y=6, k=8;

switch( x%y )

{ case 0: k=x*y;

case 6: k=x/y;

case 12: k=x-y;

default: k=x*y-x;}

A、 54

B、0

C、85

D、48

57、下面的代码在编译时,()行可能产生错误(B缺少分号)

1)public void modify() {

2) int i, j, k;

3) i = 100;

4) while ( i > 0 ) {

5) j = i * 2+k

6) System.out.println (" The value of j is " + j );

7) i--;

} }

A、line 4

B、line 5

C、line 6

D、line 7

58、以下代码的输出为()

public class Test {

void printValue(int m){

while( m-->8 )

do { System.out.println("m="+m);

};

}

public static void main(String arg[]) {

int i=15;

Test t= new Test();

t.printValue(i);

}

}

59、x的取值在()范围内时将会使下面的代码打印字符串"third"。

if (x<0) System.out.println("first");

else if (x<10) System.out.println("second");

else System.out.println("third");

A、 x>=0

B、x <10 && x>=0

C、x<10

D、 x>=10

60、下列代码的描述正确的是()

1) public class IfTest {

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

3) int x = 14;

4) int y = 23;

5) if (x = y)

6) System.out.println("Not equal");

7) else

8) System.out.println("Equal");

9) }}

A、输出 "Not Equal".

B、输出 "Equal".

C、执行正常,但没有任何输出

D、在第5行会出现编译错误

61、以下代码段编译、运行、输出的结果是()

public class ThrowsDemo {

static void throwMethod() {

System.out.println("Inside throwMethod.");

throw new IllegalAccessException("demo");

}

public static void main(String args[]) {

try { throwMethod(); }

catch (IllegalAccessException e) { System.out.println("Caught " + e);}

} }

A. 编译错误

B. 运行错误

C. 编译正确,但没有任何输出

D.在方法throwMethod中捕获以下异常:

https://www.wendangku.net/doc/de7685444.html,ng.IllegalAccessException:demo

62. public class Test {

public static void main (String [] args) {

String f1 = " red ";

String bar = f1;

f2 = " blue ";

System.out.println(bar);

} }

对于以上代码描述正确的是()

A、输出 "blue"

B、输出 "red"

C、将会抛出异常

D、将出现编译错误(f2未定义)

63.为了定义三个整型数组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);

☆64.下面语句序列执行后,a的值是()

int a=32; a%=a/5;

A、1

B、 2

C、3

D、4

65.以下for循环的执行次数是()

for(int x=0;(x==0)||(x<7);x=x+3);

A、无限次

B、1次

C、2次

D、3次

☆66.下列语句序列执行后,k 的值是 5

int m=12, n=4, k=0;

while( m>=n ) { ++k; m--; ++n; }

67.为了区分类中重载的同名的不同方法,要求( A )。

A) 采用不同的形式参数列表 B) 返回值类型不同

C) 调用时用类名或对象名做前缀 D) 参数名不同

68.如果一个类定义中没有定义构造函数,该类有构造函数吗?( A )

A) 有B) 没有

69.下面是求阶乘的递归算法,方法的返回值类型为byte,完成程序填空。

___byte_____ Fac(long n)

{ if(n<=1) return 1;

else _return (byte)(n*Fac(n-1))__;}

70.下面是一个类的定义,请将其补充完整。

class __GetNum___

{ float score; int number;

public GetNum( __float___ x, __int___ y) { score=x; number=y; } //构造方法}

71.请写出下面程序执行后output最后的值。

public class Test {

public static String output = "";

public static void foo(int i) {

try { if(i == 7) throw new Exception (); output += "A"; } catch(Exception e) { output += "B"; return; }

finally { output += "C"; }

output += "D"; }

public static void main (String args[]) { foo(7); foo(8); } } BCACD

72.题目:给出下面的代码片断:

1) switch(m)

2) { case 0: System.out.println("case 0");

3) case 1: System.out.println("case 1"); break;

4) case 2:

5) default: System.out.println("default");

6) }

m为哪些值将导致"default"输出?

A. 0

B. 1

C. 非2的值

D. 非0、1的值

此题考察switch语句的用法,switch的判断的条件必须是一个int型值,也可以是byte、short、char型的值,case中需要注意的是一个case后面一般要接一个break语句才能结束判断,否则将继续执行其它case而不进行任何判断,如果没有任何值符合case列出的判断,则执行default的语句,default是可

选的,可以没有,如果没有default而又没有任何值匹配case中列出的值则switch不执行任何语句。

73.下面的哪些声明是合法的。

A. long l = 4990;

B. int i = 4L;

C. float f = 1.1;

D. double d = 34.4;

E. double t = 0.9

F.

此题的考点是数字的表示法和基本数据类型的类型自动转换,没有小数点的数字被认为是int型数,带有小数点的数被认为是double型的数,其它的使用在数字后面加一个字母表示数据类型,加l或者L是long型,加d或者D是double,加f或者F是float,可以将低精度的数字赋值给高精度的变量,反之则需要进行强制类型转换,例如将int,short,byte赋值给long型时不需要显式的类型转换,反之,将long型数赋值给byte,short,int型时需要强制转换(int a=(int)123L;)。

74.题目:下面的那个java源文件代码片断是对的。

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.awt.*;

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

Java中的package语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于package语句之后,其它类定义之前,一个源文件中可以有几个类,但最多只能有一个是public的,如果有,则源文件的文件名必须和该类的类名相同。

75.在Applet中,使用布局管理器来确定组件摆放在容器中的位置。(对)

☆76.题目:下面的代码哪些行在编译时可能产生错误。

1) public void modify() {

2) int i, j;

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

局部变量在使用前必须显式初始化,而代码中的变量k在使用前没有。

☆77.题目:在oneMethod()方法运行正常的情况下将显示什么?

public void test() {

try { oneMethod();

System.out.print ("A");

} catch (ArrayIndexOutOfBoundsException e) {

System.out.println("B");

} catch(Exception e) {

System.out.println("C");

} finally {

System.out.println("D");

}

}

A. A

B. AD

C. C

D. B

如果try块中的语句在执行时发生异常,则执行从该处中断而进入catch 块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是catch 中指定的异常的子类就匹配成功进而执行相应的catch中的内容,而finally 块中的内容无论是否发生异常都将被执行。

78.题目:下面关于变量及其范围的陈述哪些是对的。

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

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

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

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

类中有几种变量,分别是:局部变量(英文可以为:local\automatic\temporary\stack variable)是定义在方法里的变量;实例变量(英文为:instance variable)是在方法外而在类声明内定义的变量,有时也叫成员变量;类变量(英文为:class variable)是用关键字static声明的实例变量,他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,不一定要用new Xxxx()创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null(没有进行实际的初始化,对它的使用将引起NullPointException),类变量的规则和实例变量一样,不同的是类变量的初始化是在类被加载时。

☆79.JAVA事件处理机制如下:

1). 产生事件的组件叫事件源。

2). 事件监听器用来监听事件是否发生,当事件发生时调用事件处理方法解决问题。

3). 事件对象用来封装已发生的事件信息,在事件发生后将信息传递给事件处理方法进行处理。

4)事件对象是由系统自动创建的。

80.main()方法的返回类型是什么?

A. int

B. void

C. Boolean

D. static

81.JA VA中处理事件时,可以使用事件适配器来避免实现事件对应接口的所有方法。(对)

82.下面关于继承的哪些叙述是正确的。

A.在java中类只允许单一继承,而接口可以多继承。

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

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

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

在java中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,接口可以多继承,之所以取消多继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。

83.标识符和保留字有什么区别?

标识符是程序设计的最基本概念,程序中变量、常量、类、对象和函数的名称都是标识符。标识符都必须以合法字符、下划线_或美元符号$作开头,后面的字符可以包括大写字母(A~Z)和小写字母(a~z)以及数字(0~9)等。

通常标识符分为用户标识符和保留字(也叫关键字)。用户标识符是由程序员定义并使用的标识符,保留字是Java语言保留的供系统使用的标识符。程序员不能使用保留字来定义变量名、类名和函数名等。

84.常量和变量有什么重要区别?

Java常量是用关键字final来实现,如final double PI=3.14159,变量是Java 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。常量在程序中值不能变化,变量在其作用域范围内值可以变化。

85.Java绘图用的坐标系与普通的直角坐标系有什么不同?

在平面几何坐标系中,是以左下角为坐标原点(0,0)的,向右为x轴的正方向,向上为y轴的正方向,这种平面几何坐标系并不适合计算机中的绘图工作。计算机中的内容显示都是从上到下进行的,所以在计算机图形系统中的坐标系是以左上角为坐标原点的,向右为x轴的正方向,向下为y轴的正方向。

另外,Java中的坐标间距是以象素为单位的,这就决定了Java中的坐标值只能为整数。同时,Java语言不支持三维坐标系,虽然可以采用阴影达到一定的立体效果,但Java没有提供相应的高度或深度参数。

86.类的成员四级访问权限分别是__public______、__protected______、_private_和_default__。

87.如果一个类中有许多同名的但带有不同参数列表的方法,则称为方法的_重载_;如果子类中的方法名和从父类继承的方法名字和参数都相同则称为方法的_覆盖_。

88.Java源文件的后缀是___.java____,它编译后所生成文件的后缀是__.class____。

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

A、构造方法名与其所在的类的名称相同

B、构造方法主要是完成对类的成员变量的初始化等工作

C、构造方法与成员方法一样,也有返回值

D、构造方法的修饰符一般为public

90.简述创建JA VA小程序的基本步骤。P20

91. 以下方法sum的功能是求三参数之和。将代码补充完整。((short)(a+b))

short sum ( byte a, short b) { return _(1) ; }

92.以下方法fun的功能是求两参数的最大值。

int fun ( int a, int b ) { _return a>b?a:b_________________; }

93. 计算1—1000内能被4整除但不能被5整除的所有整数的和并输出。public class number{

//计算1~2000内能被4整除但不能被5整除的所有整数的和

public static void main(String args[])

{

int sum=0;

for(int i=1; i<=1000; i++)

{

if(i%4==0 && i%5!=0)

sum+=i;

}

System.out.println("1-1000内所有能被4整除不能被5整除的数的和为:"+sum);

}

}

JAVA期末考试试卷

天津城市建设学院2007~2008学年第二学期 《 java 语言程序设计A 》 试题A 卷 课程号:073101-0 试卷说明:闭卷考试,时间120分钟。 一、 填空(本题共15空,每空2分,共30分) 1.如果一个java 源程序文件中定义有4个类,使用sun 公司的JDK 编译器javac 编译该源程序文件将产生_____4___个文件名与类名相同扩展名为___.Class_____的字节码文件。 2.Java 中所有类都是类 __Object__的子类。 3.请填出在java .lang 包中与下列基本数据类型相对应的封装类: float :java .lang .Float , char : _ java .Lang.char_______, boolean : ___ java .Lang.boolean_____。 4.被关键字____final______修饰的方法是不能被当前类的子类重新定义的方法 5.线程的四种状态是__新建_____ 、_运行_ 、_中断 、__死亡___。 6.java 语言中__https://www.wendangku.net/doc/de7685444.html,ng.Objet ___是所有类的根。 7.Swing 的事件处理机制包括__事件的监听者__、事件和事件处理者。 8.URL_____Uniform Resourse Locator_____是的缩写。 9.java 有两类应用程序java Application 和____java 10.转义字符以___\__开头。 二、选择(本题共20小题,每题2分,共40分) 1.欲构造ArrayList 类的一个实例,此类继承了List 接口,下列哪个方法是正确的 ? ( B ) A 、 ArrayList myList=new Object (); B 、 List myList=new ArrayList (); C 、 ArrayList myList=new List (); D 、 List myList=new List (); 2.paint()方法使用哪种类型的参数? ( A ) A 、 Graphics B 、 Graphics2D C 、 String D 、 Color 3.指出正确的表达式 ( C ) A 、 byte=128; B 、 Boolean=null; C 、 long l=0xfffL; D 、 double=0.9239d; 4.指出下列程序运行的结果 ( B ) 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'; } } B 、 good and abc B 、 good and gbc C 、test ok and abc D 、 test ok and gbc 5.运行下列程序, 会产生什么结果 ( A )

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

java模拟试题附答案(一)

scjp模拟试题(一) Question No: 1 1.public class test ( 2. public static void main (String args[]) { 3. int i = 0xFFFFFFF1; 4. int j = ~i; 5. 6. } 7. ) What is the decimal value of j at line 5? A. 0 B. 1 C. 14 D. –15 E. An error at line 3 causes compilation to fail. F. An error at line 4 causes compilation to fail. 答案: C Question No: 2 Given: Integer i = new Integer (42); Long 1 = new Long (42); Double d = new Double (42.0); Which two expressions evaluate to True? (Choose Two) A. (i ==1) B. (i == d) C. (d == 1) D. (i.equals (d))

E. (d.equals (i)) F. (i.equals (42)) 答案: D, E Question No: 3 Exhibit : 1. public class test ( 2. private static int j = 0; 3. 4. private static boolean methodB(int k) ( 5. j += k; 6. return true; 6. ) 7. 8. public static void methodA(int i) { 9. boolean b: 10. b = i < 10 | methodB (4); 11. b = i < 10 || methodB (8); 12. } 13. 14. public static void main (String args[] ) ( 15. methodA (0); 16. system.out.printIn(j); 17. ) 18. ) What is the result? A. The program prints “0” B. The program prints “4” C. The program prints “8”

JAVA复习题 有答案

复习题 一、选择题 1、下列Java标志符中合法的是:() A H3_sum B -name C student# D 9_Hello123 2.Java源文件和编译后的文件扩展名分别为() A. .class和.java B. .java和.class C. .class和.class D. .java和.java 3.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A)继承性B)封装性C)多态性D)抽象性 4、用来引入包语句的关键词是:() A)import B)abstract C)package D)extends 5.对于小程序,当离开包含Applet的主页后又再返回时将调用()方法。A)start( ) B)init( ) C)destroy( ) D)stop( ) 6.下列对Java中的继承描述错误的说法是() A.子类只能有一个父类 B.子类可作为另一个子类的父类 C.子类可以访问父类的私有属性 D.子类继承父类的方法访问权限保持不变 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?( ) A)do-while循环B)for循环C)while循环D)以上都不是 8.定义数组String[] a={"ab","abc","abcd","abcde"},数组中a[1]指的是()。 A.ab B.abc C.abcde D.数组越界 9.如果希望组件从左往右,从上到下自动布局界面,应使用哪种布局?()A)没有B)BorderLayout C)FlowLayout D)GridLayout 10.下列说法正确的是() A. 最终类在特殊情况下可以有子类 B. 抽象类只能有一个子类 C. 多态可以通过方法重写和方法重载实现 D. 抽象类不可以声明成员变量和成员方法,只能声明抽象方法 11.下列语句中访问类的方法正确的是:() A)https://www.wendangku.net/doc/de7685444.html, B)https://www.wendangku.net/doc/de7685444.html,( ) C)book->name D)book_name 12.下列选项中哪个是类Pen的构造方法() A)public void Pen() {} B)public static Pen() {} C)public Pen() {} D)public static void Pen() {} 13.单击菜单触发的事件是?() A. ActionEvent B.ItemEvent C.MouseEvent D. KeyEvent 14.关于try/catch/finally结构的异常捕获和处理,说法错误的是()A)try部分是必须的B)catch部分也是必须的 C)可以有多个catch部分D)finally部分也是必须的

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

Java复习题

1.已定义a为int类型的变量。以下选项中,合法的赋值语句是( B )。 A) a +1==2; B) a+=a*6; C) a=8.8f; D) int a=8; A、不是赋值语句,中间是双等号,是比较;如果改成等号那么表达方式属于非法 C、不能把实数直接给整型变量,要强制转换(int)8.8f D、重复定义 2.Java程序有哪两类? 应用程序(Application)和小应用程序(Applet) 3.为了使包sos中的所有公共类在当前程序中可见,可以使用的语句是( A )。 A)import sos.*; B)package sos.*; C)sos import; D)sos package; 显然需要进行导入,所以使用import,C选项非法。 4.下列的变量定义中,错误的是( A)。 A) int 6_a; B) float a; C) int i=Integer.MAX_VALUE; D) static int i=100; 标识符的合法原则:字母(包括汉字),数字,_和$这四种组成,但是不能以数字开头。 5.下列的变量定义中,正确的是(D)。 A) boolean b1=”true”; B) float x=6.6; C) byte i=200; D) double y; A、不应该加双引号 B、6.6默认是double类型,不能直接在这里使用,应该用6.6f,C、200超出范围(-127~128) 6.以下字符常量中不合法的是(D)。 A) '|' B) '\'' C) '\n' D) "我" D是字符串。 7. Java源程序要运行必须经过(编译)和(运行)两个阶段。 8. Java编译器将Java语言编写的源程序编译成(字节码)文件。 9. 下列程序段执行后c的结果是(B )。 int a = 9, b = 11, c; c= a != b ? a+b : a-b; A) –2 B) 20 C) 11 D) 9 10. 对于一个三位的正整数n=789,以下结果为8的是(D)。 A) n/10%2 B) (n-n%10)/100 C) n%10 D) n%100/10 11. 有一声明语句为boolean t;下面赋值语句中t的值为false的是(D )。 A)t=5>3; B)t=!false; C)t=(true|false); D)t=(2==3)?true:false; 12. 设 i, j, k, m为已赋值的 int 型变量,下列表达式的结果属于逻辑值的是( A)。 A) i==k & j+k >=m B) i+k C) m++ D) m=i+j 13. 若有定义int x = 13;则执行完语句x %= 8; 后,x的值是(C )。 A) 0 B) 1 C) 5 D) 8 14. 若有定义int a = 2;则执行完语句 a -= a * a; 后,a的值是( C)。 A) 0 B) 4 C) -2 D) –4 15. 下列程序段执行后 b3 的结果是(D)。 boolean b1=true, b2=true, b3; b3= !b1 ? b1 :!b2; A) 0 B) 1 C) true D) false 16. 与以前的结构化程序设计不同,Java是一种完全(面向对象),而且平台(中立)的语言,而后者又使得用Java编写出来的程序具有(可移植)性。 17.面向对象程序设计的三个特性是(继承)、(封装)和(多态)。 18. 执行下面程序段后,b, x, y的值分别是( D)。 int x=6,y=8; boolean b;

java模拟试卷3与答案

复习题 3 一、选择题 1. JDK 提供的编译器是(B)。 (A ) java.exe(B ) javac.exe (C) javap.exe( D) javaw.exe 2.以下作为 Java 程序入口的 main 方法声明正确的( C)。 (A ) public void main(String args[]) (B ) public int main(String args[]) (C) public static void main(String args[]) (D ) public static int main(String args[]) 3.以下标识符错误的是( C )。 (A )Public( B)张三( C) class(D ) main 4.java 中定义字符串 String s= ”pzhu”,下面操作可以取得字符串长度的是( A )。 (A ) s.length()( B) s.length( C)s.size()( D) length(s) 5.如下定义数组,操作正确的是(D)。 int a[]={1,2,3}; (A ) a[3]=100(B ) a[0].length( C)a++( D) a.length 6.如下定义二维数组操作错误的是()。 int a[][]={{1,2},{3}}; (A ) a[0][1]=200( B) a[0].length( C) a[1][1]=100( D) a.length 7. 以下数据类型存储空间最大的是(B)。 (A ) byte( B) long(C) float(D ) char 8. 面向对象的三大特性,不包括如下( A)。 (A )异常( B)封装(C)继承(D )多态 9、关于类的定义以下说法错误(B)。 (A )类定义使用class 关键字( B)每个类中必须有一个main 方法 (C)一个包可以包含多个类( D) java 中所有类都是Object 类的子类 10. 关于构造方法以下说法错误的是(D)。 (A)构造方法名必须与类名一致(B)构造方法可以重载 (C)构造方法是通过new 来调用(D)每个类都必须编写构造方法代码 11.关于继承如下说法错误的是(C)。 (A) Java 是单继承的(B)通过extends 来定义继承 (C)所有父类方法都可以被override的(D)继承呈现的是 is a 的关系 12.以下代码执行的结果是 ( C )。 System.out.println(" 攀枝花学院 pzhu".length()); (A)编译错误(B)运行错误(C) 9(D) 14 13. 用来存储键值对的容器是 ()。 (A )ArrayList( B ) LinkedList(C) HashSet( D) HashMap 14、 java 中用来抛出异常的关键字是( C )。 (A) try(B) catch(C) throw(D) throws 15.关于 finally块中的代码,以下说法不正确的是(A)。 (A ) try 块中的 return 语句会中断finally 块中语句的执行 (B )无论 finally 块前的语句运行是否产生异常,其中的语句都会执行 (C) finally 块中的语句通常中用作资源的清理 - 1 -

Java期末考试题

2010年——2011年Java期末考试题 一、判断题。 1.Java语言是平台无关的语言。T 2.类的静态方法中可以访问该类的非静态数据成员.F 3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不 会变的。T 4.覆盖方法所抛出的异常不能比原方法更多。T 5.Final 方法不能被覆盖。T 6.抽象类中一定包含抽象方法。F 7.接口中的方法必须是抽象方法。T 8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。F 9.Java支持多重继承。F 10.Final修饰的类不能派生子类。T 11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。T 12.不能在静态方法中使用this.T 13.抽象类中不能创建对象。T 14.一个类可以实现多接口。T 15.接口中可以包含非静态成员。F 16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。T 17.一个类实现一个接口,则该类必须实现接口中的所有方法。F 18.线程使用sleep方法去休眠后可以使用notify方法唤醒。F 19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。F 20.Final类中的属性和方法都必须是final的。F 二、选择题 1、Java中复合数据类型不包括(D) A.类类型 B.数组 C.接口类型 D.指针 2、请从四个选项中选择答案,下列代码的执行结果是:(C) Public class Test{ Public static void main(String args[]){ Float t=9.0f; Int q=6; System.out.println((t++)*(--q)); } } A.40 B.40.0 C.45.0 D.36.0 3、下列关于修饰符混用的说法,错误的是(D) A.abstract 不能与final 并列修饰同一个类 B.abstract类中可以有非abstract的方法 C.普通类(非abstract类)中不能有abstract方法 D.static方法中能处理非static的属性 4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A) A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问 5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A) A.12 B.24 C.16 D.3 6、以下赋值语句正确的是(D) A.char c1=”a” B.float f1=3.22 C.byte b1=266 D.long L1=0xAC8L 7、Java不支持多重继承,但我们可以通过(B)实现 A.多态 B.接口 C.覆盖 D.抽象类 8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A) A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person; 9 编译MyClass.java之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C) A.MyClass类中的两个方法:little和1 B. MyClass.Java中有三个类:MyClass、little和1 C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1 D. MyClass、little和1,这三者没什么关系 10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。 A.public static void main() B.public static void main(String arg[]) C.public static int main(String[] arg) D. B.public void main(String arg[]) 11、当编译和运行下面的代码会出现什么情况?(A)

JAVA复习题及答案

第一章JA V A概述 1.JA V A中哪三种平台:Java ME(嵌入式平台),Java SE(标准平台),Java EE(企业级平台). 2.JA V A从第几版称为JA V A2:JA V A 1.2版。 3.JA V A有否指针:无。 4.JA V A的API指的是什么:Application Programming Interface,JA V A的类库。 5.JA V A平台无关性是如何实现的:通过编译生成与平台无关的代码──字节码,而不是通常的特定机器上的机 器码,由平台上的Java虚拟机中的Java解释器解释执行。 6.JA V A有哪两种程序形式:Application和Applet程序。 7.Application程序运行时系统调用程序的哪个方法:main()方法。Applet程序执行时系统自动调用程序的哪个方 法:init()方法。 8.绘图程序中系统自动调用哪个方法:paint(Graphics g)方法。 9.JDK是什么:Java开发工具包(Java Development Kit ) 的缩写,包括JAVA类库、JAVA编译器、JAVA解释 器、运行时环境、命令行工具。 10.有哪几种主要的可视化的集成源程序编辑环境:Eclipse, JCreator, JBuilder等。 11.安装JDK的可执行文件是:jdk-1_5_0-windows-i586.exe 12.安装JDK帮助文档的是:jdk-1_5_0-doc.zip 第二章JA V A语言基础 13.保留字是什么意思,能否用于程序员定义自己的类、方法、变量等名字:JA V A中已定义的用于特定用途的标 识符。不能。 14.i++与++i有什么区别? 15.写出各种转义字符?p17。\t, \n, \r, \‖, \’, \\ 16.编程良好习惯中,对象名、包名、类名、变量名、常量名、接口名、方法名中的字符的大小写如何设置?Package –名词且小写;Class--名词且第一个字母大写;Interface—同Class;Methods-动词且第一个字母小写,分隔词第一个字母大写,不用‖-―;Variable—第一个字母小写,不用‖_‖,‖$‖(对于inner class有意义);Constants—大写并用‖_‖ 17.标识符的用途:用于给类、方法、变量、接口、程序块、对象等起名字。 18.标识符中可否有空格,可否有#号:不能,只能有字母、下划线、美元符、数字 19.判断合法的标识符:identifier,userName,_FH User_Name ,_sys_val,$change 2mail,room#//,class,ab-cd,ac eh 20.JA V A中标识符大小写敏感吗? 21.实数类型的两种类型中哪种是默认的:double。 22.float和int型的数据各占多少位(bit)。32位 23.什么叫局部变量:方法内部的变量。 24.局部变量有默认值吗:没有。 25.局部变量出了方法体后还存在吗:不存在。 26.一个变量可以重复定义吗:不能。 27.低级类型的数据与高级类型的数据进行运算时,怎样进行类型转化:低级的类型首先自动转化为高级类型,然 后进行运算。 28.域(field)变量应该定义在方法之外还是方法之内:之外。 29.sum+=i的展开式:sum=sum+i 30.计算a+=a*=b-=(a=4)*(b=2)的结果,其中初始时a=4,b=2。 31.―&‖和―&&‖的区别? 32.关系运算符与逻辑运算符哪个优先级高,为什么:关系,因为关系运算的结果false或true用于逻辑运算。 33.以下计算结果是否对?

JAVA语言复习题及答案

14年(下)程序设计(JA V A语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的内容 (B) 保留原来pain()所画的内容 (C) 清除pain()以前所画的内容,再一次调用pain()方法 (D) 在pain()以前所画内容基础上,再一次调用pain()画新的内容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。

JAVA模拟试题(含答案)

一、请分别写出下面程序的运行结果,将答案添在每道题后的空格处 1. public class Test1 { public static void main(String[] args) { int x=10,y=20; System.out.print("x="+(x++)+" y="+(++y)+" sum="+(x+y)); } } 运行结果:x=10 y=21 sum=32 2. public class Test2 { public static void main(String[] args) { boolean end; for(int i=2;i<20;i++){ end=true; for(int j=2;j<=i;j++){ if(i%j==0&&j

相关文档