java期末复习题(一)

更新时间:2024-06-09 17:44:01 阅读量: 综合文库 文档下载

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

期末复习题(一)

一 选择题

1. 下列java标识符,错误的是( D )

A. _sys_varl B. $change C. User_name D. 1_file 2. 下列不属于简单数据类型的是( B )

A. 整数类型 B. 类

C. 符点数类型 D. 布尔类型 3. 下列属于JAVA关键词的是( C )

A. TRUE B.goto C. float D. NULL 4.下列声明和赋值语句错误的是( C )

A. double w=3.1415; B. String strl=”bye”; C. float z=6.74567 D. boolean truth=true; 5. java中,八进制数以( B )开头。

A. 0x B. 0 C. 0X D. 08

6. 自定义类型转换是由按优先关系从低级数据转换为高级数据,优先次序为(A)

A. char-int-long-float-double B. int-long-float-double-char B. long-float-int-double-char D. 以上都不对

7.在java中,Integer.MAX_VALUE表示( B )

A. 浮点类型最大值 B. 整数类型最大值 C. 长整型最大值 D. 以上说法都不对 8.JAVA中,数据类型值中不可能出现的符号是( D )

A. d B. f C. e D. /

9. 下列表示单引号的是( B )

A. ‘ B. \\\\’ C. \\\\\\\\’ D. ‘\\\\

10. 下列语句片断中,four得值为:( D )

int three=3; char one=‘1’

char four=(char)(three+one); A. 3 B. 1 C. 31 D. 4

11. 下列不属于整型变量的类型是( C )

A. byte B.short C.float D.long

12. int类型整型变量在内存中的位数为( C )

A. 8 B. 16 C. 32 D. 64

13. 下列数据类型转换,必须进行强制类型转换的是( D )

A.byte→int B.short→long C.float→double D. int→char

14. java中,用( A )关键字定义常量

A.final B.#define C.float D.const

15. 关于变量的作用范围,下列说法错误的是( A )

A.异常处理参数作用域为整个类

B.局部变量作用于声明该变量的方法代码段

1

C.类变量作用于声明该变量的类

D.方法参数作用于传递到方法内代码段

16. 下列属于条件运算符的是( B )

A. + B. ?: C. && D. >>

17. 下列程序test类中的变量c的最后结果为( D )

public class test{

public static void main(String args[]) { int a=10; int b;

int c; if(a>50){

b=9; }

c=b+a; } }

A. 10 B. 0 C. 19 D. 编译出错

18. 下列程序片断的执行,说法正确的是( C )

public class test{

public static void main(String args[]){ byte b=100; int i=b; int a=2000; b=a;

System.out.println(b); } }

A. b的值为100 B. b的值为2000 C. 第六行出错 D. 第八行出错

19. 00101010(&)00010111语句的执行结果为( A )

00000010 11111111 00111111 11000000

20. 已知i为整形变量,关于一元运算++i和i++,下列说法正确的是( D )A. ++i运算将出错

B. 在任何情况下运行程序结果都一样 C. 在任何情况下运行程序结果都不一样 D. 在任何情况下变量i的值都增1

21. 在java中语句:37.2%10的运算结果为( A )

A. 7.2 B. 7 C. 3 D. 0.2

2

22. 在java语句中,运算符&&实现( B )

A. 逻辑或 B. 逻辑与 C. 逻辑非 D. 逻辑相等

23. 在java语句中,位运算操作数只能为整型或( B )数据

A. 实型 B. 字符型 C. 布尔型 D. 字符串型

24. 00101010(|)00010111语句的执行结果为( C )

A. 00000000 B. 11111111 C. 00111111 D. 11000000

25. ~0010101语句的执行结果为( A )

A. 1101010 B. 0010101 C. 11111111 D. 00000000

26. 复合语句用( B )括起来的一段代码。

A. 小括号() B. 大括号{} C. 中括号〔〕 D. 单引号‘’

27. 下列不属于条件语句关键字的是( D )

A. if B. else C. swich D. while

28. 多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值( C )

A. 整型 B. 实型 C. 接口型 D. 字符型

29.下面不属于java条件分支语句结构的是( D )

A. if结构 B. if-else结构

C. if-else if结构 D. if-else else机构

30. 下列方法method()执行,返回值为( D ) int method(){

int num=10; if (num>20)

return num; num=30; }

A. 10 B. 20 C. 30 D. 编译出错

31. 三元条件运算符ex1?ex2:ex3,相当于下面( A )语句。

A. if(ex1) ex2;else ex3; B. if(ex2) ex1;else ex3; C. if(ex1) ex3;else ex2; D. if(ex3) ex2;else ex1;

32. java用( A )来实现goto语句所特有的一些功能。

A. break B. default C. continue D. return

33. 一个循环一般应包括哪几部分内容( D )

A. 初始化部分 B. 循环体部分

3

C. 迭代部分和终止部分 D. 以上都是

34. 关于while和do-while循环,下列说法正确的是( D )

A. 两种循环除了格式不通外,功能完全相同

B. 与do-while语句不通的是,while语句的循环至少执行一次

C. do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句 D. 以上都不对。

35. 下列程序输出结果为( C ): public class test {

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

outer: for(int i=0;i<2;i++){

for(int j=0;j<2;j++){ if(j>i){ continue outer;

} a++; } }

System.out.println(a); } }

A. 0 B. 2 C. 3 D. 4

36.下列数组定义及赋值,错误的是( B )

A. int intArray[];

B. intArray=new int[3]; intArray[1]=1; intArray[2]=2; intArray[3]=3;

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

37. 在java中,字符串由java.lang.String和( B )定义

A. java.lang.StringChar B. java.lang.StringBuffer C. java.io.StringChar D. java.io.StringBuffer

38. java程序的执行过程中用到一套JDK工具,其中javac.exe指( A )

A. java语言编译器 B. java字节码解释器 C. java文档生成器 D. java类分解器

39. java的API结构中,不属于类库主要包括的核心包的是( C )

4

A. java包 B. javax

C. javadoc包 D. org扩展包

40. 每个java的编译单元可包含多个类或界面,但是每个编译单元最多只能有( A )类或者界面是公共的

A. 一个 B. 两个 C. 四个 D. 任意多个

41. 在当前的java实现中,每个编译单元就是一个以( A )为后缀的文件

A. java B. class C. doc D. exe

42.在Java编程中,Java编译器会将Java源程序转换为( A )。

A.字节码 B.可执行代码 C. 机器代码 D. 以上所有选项都不正确 43.关于Applet和Application,下列说法错误的是( B )

A.Applet自身不能运行 B.Applet可以嵌在Application中运行 C.Application以main()方法为入口 D.Applet可嵌在浏览器中运行 44.整型数据类型中,需要内存空间最少的是( D )。

A.short B.long C. int D. byte 45.下面的代码段,输出结果是( B )。 int x=015;

System.out.println(x);

A. 015 B.13 C.15 D.编译错误 46.若有以下程序段:

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

执行后,c的值是( A )。

A. 0 B. 0.5 C. 1 D. 2

47.下列关于数组的定义中,不正确的是( C ) A.int[] a=new int[5]; B.int a[]={1,2,3,4};

C.int a[][]= new int[][9]; D.int a[][]={{1}{1,2}{1,2,3}};

48.已知x=5;y=7;经过表达式(x++>5)&&(++y>0)的运算,x和y的值分别是( D ) A.5和7 B. 5和8 C. 6和7 D. 6和8 49.下面描述正确的是: ( A ) A.声明变量时必须指定一个类型

B.java认为变量number和Number相同 C.java中唯一的注释方式是“//”

D.源文件中public类可以有0个或多个 50.下面有关抽象类定义合法的是( D )。

5

A.class Animal{ abstract void growl();} B.abstract Animal{abstract void growl();}

C.class abstract Animal{abstract void growl();} D.abstract class Animal{abstract void growl();} 51.根据下面的代码

if (x>0) { System.out.println(\第一\

else if (x>-3) { System.out.println(\第二\else { System.out.println(\第三\

判断x的取值在什么范围内时将打印字符串“第二”?( D )

A. x > 0 B. x > -3 C. x <= -3 D.x <= 0 & x > -3

52.要使某个类能被同一个包中的其他类访问,但不能被这个包以外的类访问,则(A.该类不使用任何关键字 B.使用private关键字 C.使用final关键字 D.使用protected关键字

53.以下关于接口不正确的说法是 ( D ) 。

A.一个类可以实现多个接口类似于多重继承 B.接口没有构造函数和析构函数 C.接口可以继承

D.接口包含的方法既可以有实现,也可以没有实现

54.对于可以独立运行的Java应用程序,下列( D )说法是正确的。 A.无须main方法

B.必须有两个main方法

C.可以有多个或零个main方法 D.必须有一个main方法

55.以下关于继承的叙述正确的是( A )。

A.在Java中类只允许单一继承

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

C.在Java中一个类不能同时继承一个类和实现一个接口 D.在Java中接口只允许单一继承

56.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。 A.init() B.start() C.destroy() D.stop() 57.Java源文件和编译后的文件扩展名分别为( B )。

A..class 和 .java B..java和 .class C..class 和 .class D..java 和 .java

58.Java语言不是( C )。

A.高级语言 B.编译型语言

C.结构化设计语言 D.面向对象设计语言

59.Java语言中创建一个对象使用的关键字为 ( C )

A.class B.interface C.new D.create

60.设有对象x具有属性a则访问该属性的方法为( C )

A.a.x B.a.x() C.x.a D.x.a()

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

A.与文件的结构相同

)。6

A

B.与文件目录的层次相同 C.与文件类型相同 D.与文件大小相同

二、填空题

1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个_Oak__软件,它是java的前身。

2. java是一个网络编程语言,简单易学,利用了_ 面向对象__的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是__ java虚拟机__

4. JAVA的产品主流操作系统平台是Solaris、___ Windows __和Macintosh.

5. JAVA系统运行时,通过___垃圾回收___机制周期性的释放无用对象所使用的内存,完成对象的清除。

6. 在JAVA语言中,将后缀名为__ java ____的源代码文件编译后形成后缀名为.class的字节码文件。

7. JAVA语言的执行模式是半编译和___半解释型___。

8. JAVA类库具有___跨平台__的特点,保证了软件的可移植性。 9. 在JAVA语言中,为将源代码翻译成___字节码___文件时产生的错误称为编译错误。而将程序在运行中产生的错误称为运行错误。

10. Java Application应用程序的编写和执行分3步进行:编写源代码、编译源代码、___解释执行__。

11. 每个java应用程序可以包括许多方法,但必须有且只能有一个__ main ___方法。 12. JAVA源文件中最多只能有一个__ public或公共___类,其它类的个数不限。 13. JAVA的体系结构中,最下层是移植接口,上面一层是虚拟机,虚拟机的上层是__ java基本类___和基本API,它们都是具有可扩展性。

14. JAVA解释器采用生成与体系结构无关的____字节代码__指令的技术,只需安装JAVA运行系统,就可保证JAVA程序可以在网络的任何地方运行。

15. 把对象实例化可以生成多个对象,使用___ new ___运算符为对象分配内存空间。 16. java程序引入接口的概念,是为了弥补只允许类的___单继承_____的缺憾。 17. java语言以____类___为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

18. 抽象方法只能存在于抽象类中。抽象方法用关键字____ abstract ____来修饰。 19. java语言中____ Object ___是所有类的根.

20. 在java中有一种叫做___构造方法____的特殊方法,在程序中用它来对类成员进行初始化.

21. new是___创建___对象的操作符.

22. 继承主要强调子类在父类的基础上取”长”补”短”,而___多态性___主要强调的是类与类之间的传输

23. 我们在java程序中,把关键字____ supper ____加到方法名称的前面,来实现子类

7

调用父类的方法

24. 定义一个类包括定义类头和定义____类体__两个部分

25. 在java程序里,同一类中重载的多个方法具有相同的方法名和__不同的___的参数列表.重载的方法可以有不同的返回值类型

26. java是面向对象语言,对象是客观事物的____实体___,对象与之是一一对应的,它是很具体的概念.

27. java语言通过接口支持__多重____继承,使类继承具有更灵活的扩展性 28. 一个对象的生命周期包含三个阶段:生成, ___使用___ 和清除

29. java语言中,调用方法时,参数传递是___值___调用,而不是地址调用 30. 接口是一种只含有抽象方法或___常量___的一种特殊抽象类

31. 创建一个类就是创建一个新的数据类型,而类在java中属于___ 复合___数据类型。 32. abstract方法____不能____(不能或能)与final并列修饰同一个类 33. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的____参数个数____必须是不同的,这种现象称为方法的重载。

34.Java中用___extends______关键字指明继承关系,用___implement __关键字指明对接口的实现。

35.在Java语言中,有一个类是所有类和接口的父类,这个类的名称是__Object___。 36.在Java程序中,类只能实现__单__ 继承,但通过接口的定义可以实现_多重__ 继承。 37. __构造方法___是类中的一种特殊方法,用来实例化对象的初始状态。

38.某Java源程序中有一个类的定义为:public class MyPrg,则该源程序的完整文件名应该为: MyPrg.java 。

39.面向对象的模型中,最基本的概念是__类___和__对象___。

40.有一种方法,仅有方法头,没有具体方法体和操作实现的方法,该方法必须定义在抽象类中,该方法称为 抽象方法 。

三.程序阅读题

(1)

import java.io.*; class Parent{

void printMe(){

System.out.println(\ } }

class Child extends Parent{ void printMe(){

System.out.println(\ }

void printAll(){

8

super.printMe(); this.printMe(); printMe(); } }

public class Class1{

public static void main(String args[]){ Child myC=new Child(); myC.printAll(); } }

运行结果为: parent child child (2)

public class Class2{

public static void main(String[] args){ A a1=new A(); a1.printa();

B b1=new B(); b1.printb(); b1.printa(); } }

class A{ int x=1;

void printa() {System.out.println(x);} }

class B extends A{ int x=100; void printb(){

super.x=super.x + 10;

System.out.println(\ } }

运行结果为: 1

super.x=11 x= 100 11

(3)

interface A{ int x=1;

void showX();

9

}

interface B{ int y=2;

void showY(); }

class InterfaceTest implements A,B{ int z=3;

public void showX(){System.out.println(\ public void showY(){

System.out.println(\ }

public void showMe(){

System.out.println(\ } }

public class Class3{

public static void main(String args[]){

InterfaceTest myObject=new InterfaceTest(); myObject.showX(); myObject.showY(); myObject.showMe(); } }

运行结果为: x=1 y=2 z=6

(4)

public class Class4{ static String s;

public static void main(String[] args){ System.out.println(“s= ”+s);

} }

运行结果为: s=null (5)

public static void main(String[] args){

int j=10;

int i=1;

do{ if(i++>--j) continue; }while(i<5)

10

}

运行结果为: i=5 j=6 (6)

import java.io.* ; public class Class6{

public static void main(String args[ ]){

int i, s = 0 ;

int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\ }

}

运行结果为: s = 180 (7)

class Class7 {

public static void main(String[] args){

char myChar='c'; switch(myChar){ default:

case 'a':System.out.println(\ case 'b':System.out.println(\ } }

}

运行结果为:a (8)

class Class8 int var;

Tester(double var) { this.var = (int)var; }

Tester(int var) { this(\ }

Tester(String s) { this();

System.out.print (s); }

Tester() {

System.out.print(\ }

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

11

} }

运行结果为:goodbye hello

(9)

public class Person {

String name; int age; public Person(String name, int age) { this.name = name; this.age = age; } public static void main(String[] args) { Person c = new Person(\ System.out.println(c.name + \ } }

运行结果为:Peter is 17 years old! (10)

public class Class10 {

public static void main(String args[]) { int x = 10, y = 0; for(int i=2;i

switch(y) {

case 0: System.out.print(0);

case 1: System.out.print(1);break; case 2: System.out.print(2); case 3: System.out.print(3);break; default: System.out.print(4); } } }

运行结果为:23

(11)

class Person{

public Person(){

System.out.println(\ }

public Person(String s){ this();

System.out.println(\ } }

public class Class11 extends Person{

12

public Class11(){ this(\ }

public Class11(String s){ super(s);

System.out.println(\ }

public static void main(String args[]){ Class11 w = new Class11(\ } }

运行结果为: hi

I am Tony

How do you do? (12)

public class Class12{

String str=new String(\ char ch[]={'J','a','v', 'a'};

public static void main(String args[]){ Class12 ex=new Class12(); ex.change(ex.str,ex.ch); System.out.println(ex.str);

System.out.println(new String(ex.ch)); }

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

运行结果为: Hello Yava

13

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

Top