《Java程序设计》综合复习题(24页) 下载本文

内容发布更新时间 : 2024/6/27 1:28:35星期一 下面是文章的全部内容请认真阅读。

班级:____________ 姓名:____________ 学号:____________

《Java程序设计》综合复习题

一、单项选择题

1、关于Java语言叙述错误的是( C )。 A、Java语言具有跨平台性

B、Java是一种面向对象的语言

C、Java语言中的类可以多继承

D、Java的垃圾收集机制自动回收程序已不再使用的对象

2、.class 和.java 文件的含义分别是(A )。 A、Java 字节码文件和源文件 B、Java 可执行文件和目标码文件 C、Java 源文件和目标码文件

D、Java 源文件和Java 平台配置文件

3、下列选项中属于 Java语言的安全性的一项是( C )。 A、动态链接

B、高性能 C、访问权限 D、内存跟踪

4、在下列说法中,选出最正确的一项是( A )。 A、Java语言是以类为程序的基本单位的 B、Java语言是不区分大小写的

C、多行注释语句必须以//开始 D、在Java语言中,类的源文件名和该类名可以不相同5、Java语言是将源程序翻译成(A )。 A、字节码文件

B、批处理文件

C、目标文件

D、源文件

6、下列特点中不属于Java的是( B)。 A、多线程

B、多继承

C、跨平台

D、动态性

7、Java语言是1995年由( A )公司发布的。 A、Sun

B、Microsoft

C、Borland

D、Fox Software

8、下列选项中,不是Java注释方式的是( C )。 A、 //…

B、/* … */

C、/** … **/

D、/** … */

9、在Java中,int数据类型所占的位数为 ( C )。 A、 8 B、16 C、32 D、64

10、下列声明和赋值语句中错误的是( C )。

A、double w=3.1415; B、String strl=\ C、float z=6.74567; D、boolean truth=true; 11、Java中数值数据的类型能自动转换,按照从左到右的转换次序是( B )。 A、byte→int→short→long→float→double B、byte→short→int→long→float→double C、byte→short→int→float→long→double

D、short→byte→int→long→float→double

12、设 String s = \下列选项中语句书写正确的是( A )。

A、 s += \、char c = s[1]; C、int len = s .length; D、s = s - \13、下列程序执行后,输出结果是( B )。 int x = 4;int y = 3;System.out.println(x+ y + \A、 4k

B、7k

C、43k

D、3k

14、若有定义int x=3,y;则执行语句y=(x++)+(x++)+(x++);后x=( C )。

A、 3 B、4 C、6 D、18 15、若有定义int x=4,y;则执行语句y=(++ x)+(x++)+(++ x);后y=( D )。 A、 6

B、16

C、15

D、17

16、在Java中,switch(exp)语句的exp不能是( D )。 A、 字符型变量

B、整型变量

C、整型常量 D、逻辑型常量

1

17、下列选项中哪条语句不能通过编译( D )。 A、int[] a={1,2,3,4}; C、int c[]=new int[3];

B、int b[]; D、int d=new int[];

18、以下哪个表达式是声明一个含有10个String对象的数组?( C ) A、char str[]=new String[10]; B、char str[][]=new String[10]; C、String str[]=new String[10]; D、String str[10] =new String[10]; 19、下列程序段的输出结果是( C )。

int a=10,b=4,c=20,d=6; System.out.println(a++*b+c*--d); A、144

B、28

C、140 D、不能执行

20、下列程序段执行后,t4的值是( C )。

int t1=5,t2=6,t3=7,t4; t4=t1>t2 ? t1 : t2>t3 ? t2 : t3; A、5 B、6 C、7 D、以上都不对 21、下列程序片断可能发生错误的是( C )。

A、String s= \to our school\t= \ k=s+t; B、String s= \to our school\standard=s.toUpperCase(); C、String s= \to our school\t;t=s[3]+ \D、String s= \to our school\t= s+\22、如下哪个是Java中的标识符( D )。 A、public

B、super

C、3number

D、width

23、下列程序段执行后,b1、a、b的值分别是( A )。 int a=3,b=5;boolean b1=a>b && ++a == ++b; A、false 3 5 A、s += \

B、false 4 6

C、true 4 6

D、true 3 5

24、已知如下定义:String s = \下面哪个语句不是合法的( C )。

B、s = s + 100; C、int len = s.length; D、String t = s + “abc”;

25、如下哪个是Java中有效的关键字( C )。 A、name

B、hello

C、false

D、good

26、下面的代码段执行之后count的值是什么( D )。

int count = 1;

for (int i = 1; i <= 5; i++) { }

System.out.println(count);

B、1

C、15

D、16

count += i;

A、5

27、关于Java中数据类型叙述正确的是( B )。 A、整型数据在不同平台下长度不同 C、数组属于简单数据类型

B、boolean类型数据只有2个值,true和false D、Java中的指针类型和C语言的一样

28、以下语句有语法错的是( A )。 A、int x=1;y=2;z=3 C、while (x>5)

B、for (int x=10,y=0;x>0;x++) D、for(; ;)

29、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A、 3 B、 3.5 C、 4 D、 5

2

30、关于选择结构下列哪个说法正确?( B ) A、if语句和 else语句必须成对出现

B、if语句可以没有else语句对应

C、switch结构中每个case语句中必须用break语句 D、switch结构中必须有default语句 31、while循环和 do?while循环的区别是( D )。 A、没有区别,这两个结构任何情况下效果一样

B、while循环比 do?while循环执行效率高

C、while循环是先循环后判断,所以循环体至少被执行一次 D、do?while循环是先循环后判断,所以循环体至少被执行一次 32、关于 for循环和 while循环的说法哪个正确?( B ) A、while循环先判断后执行,for循环先执行后判断。

B、while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C、两种循环任何时候都不可以替换

D、两种循环结构中都必须有循环体,循环体不能为空

33、下列不属于表达式语句的是( C )。 A、++i;

B、--j;

C、b#a;

D、b*=a;

34、在下面的代码中,break语句的作用是( C )。 for (int i = 0; i < 10; i++) if (aData[i] = = TargetData) { FoundID = i;break; }

A、退出if 程序块 C、退出整个循环

B、退出此次循环,直接进入下一次循环 D、退出整个函数

35、结构化程序设计所规定的三种基本控制结构是( C )。

A、输入、处理、输出 B、树形、网形、环形 C、顺序、选择、循环 D、主程序、子程序、函数 36、若x = 5,y = 8,则表达式x|y的值为( B )。 A、3

B、13

C、0

D、5

37、设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 A、a[0]; B、a[a.length-1];

C、a[3]; D、int i=1; a[i];

38、若有定义: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]

39、下面关于main方法说明正确的是( B )。

A、public main(String args[ ]) B、public static void main(String args[ ]) C、private static void main(String args[ ]) D、void main() 40、执行完代码int[]x=new int[2];后以下说法正确的是( A )。 A、x[1]为0

B、x[1]未定义 C、x[2]为0 D、x[0]为空

41、下列数组初始化形式正确的是( A )。

A、int t[][]={{1,2},{3,4},{5,6}}; B、int t[][]={1,2,3,4,5,6}; C、int t[3][2]={1,2,3,4,5,6};

D、int t[][]; t={1,2,3,4,5,6};

42、下列关于数组的定义形式,正确的是( D )。 A、int []a;a=new int;

B、int []b;b=new char[3];

C、int []a;a=new int[]; D、int []a;a=new int[4]; 43、int a=3,int b=4,表达式++a = = b的值是( C )。

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

3

44、下列循环语句中,循环体被执行的次数是( C )。 for(int i=0,j=0;(j!=10)||(i<4);i++)

A、3 B、4 C、无限次 D、不确定 45、数据类型int型的默认值是( D )。 A、2

B、3

C、1

D、0

46、下列语句序列执行后,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

47、下列语句序列执行后,k 的值是( A )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; break; case 9 : k+=2; break; case 10: k+=3; break; default : k/=j; } A、31

B、32

C、2

D、33

48、下面代码的运行输出结果是( A )。 public class example

{ public static void main(String args[]) {int x=0; if (x>0) x=1; switch(x)

{ case 1: System.out.println(1); case 0: System.out.println(0); case 2: System.out.println(2);break; case 3: System.out.println(3); default:System.out.println(4);break;} } } A、0 C、2 2 3 B、4 D、1 3

49、以下由 for 语句构成的循环执行的次数是( B )。 for ( int i = 0; true ; i++) ; A、有语法错,不能执行

B、无限次 C、执行1次

D、一次也不执行4

50、不能构成循环的语句是( C )。 A、for 语句

B、while 语句

C、switch 语句

D、do__while 语句

51、for(int a=0;;){System.out.println(a); }输出结果是( D )。 A、死循环

B、for语法错误

C、输出1个0

D、输出无限个0

52、for(int a=0;;){System.out.println(a);break;}输出结果是( C )。 A、死循环

B、for语法错误

C、输出1个0

D、输出无限个0

53、现有一个整数数组a[4],它的所有数组元素是( D )。 A、a0 a1 a2 a3

B、a[1] a[2] a[3] a[4] D、a[0] a[1] a[2] a[3]

C、a[0] a[1] a[2] a[3] a[4]

54、已知语句int a[]={1, 2, 3};,下列描述错误的是( D )。 A、定义了一个名为a的一维数组 B、数组a有3个元素 C、数组a中每个元素都是整型 A、40

B、32

D、数组元素a[3]的值为3

C、0

D、1

55、a=5,表达式(--a)<<3的值是( B )。

56、下列选项中属于字符串常量的是( B )。 A、'abc'

B、\

C、[abc]

D、(abc)

57、下列数中为八进制的是( C )。 A、27

B、0x25

C、026

D、028

58、void的含义( A )。

A、方法没有返回值 B、方法体为空 C、没有意义 D、定义方法时必须使用 59、return语句( C )。 A、只能让方法返回数值

B、方法都必须含有 D、不能用来返回对象

C、方法中可以有多句return,表示返回某个值 60、类与对象的关系是( A )。 A、类是对象的抽象 C、对象是类的子类

B、对象是类的抽象 D、类是对象的具体实例

61、现有两个类A、B,( B )表示B继承A。

A、class A extends B B、 class B extends A C、 class A implements B 62、定义一个接口必须使用的关键字是( C )。 A、public

B、class

C、interface

D、static

D、 class B implements A

63、下列哪一个import命令可以使我们在程序中创建输入/输出流对象( C )。

A、import java.sql.*; B、import java.util.*; C、import java.io.*; D、import java.net.*; 64、下面哪一个import命令可以为我们提供编写网络应用程序的类( D )。

A、import java.sql.*; B、import java.util.*; C、import java.io.*; D、import java.net.*; 65、不允许作为类及类成员的访问控制符的是( C )。

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

66、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。

A、 static void method( ) B、 public void method( )

5