当前位置:文档之家› Java复习题

Java复习题

Java复习题
Java复习题

1、关于选择结构下列哪个说法正确?()

A.if语句和else语句必须成对出现

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

C.switch结构中每个case语句中必须用break语句

D.switch结构中必须有default语句

2、while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样

B.while循环比do…while循环执行效率高

C.while循环是先循环后判断,所以循环体至少被执行一次

D.do…while循环是先循环后判断,所以循环体至少被执行一次

3、关于for循环和while循环的说法哪个正确?()

A.while循环先判断后执行,for循环先执行后判断。

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

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

4、下列修饰符中与访问控制无关的是()

A.private B.public

C.protected D.final

5、void的含义:()

A.方法没有返回值B.方法体为空

C.没有意义 D.定义方法时必须使用

6、return语句:()

A.只能让方法返回数值B.方法都必须含有

C.方法中可以有多句return D.不能用来返回对象

7、关于对象成员占用内存的说法哪个正确?()

A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存

D.以上都不对

8、下列说法哪个正确?

A.不需要定义类,就能创建对象

B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象

D、属性必须是简单变量

9、下列说法哪个正确?()

A、一个程序可以包含多个源文件

B、一个源文件中只能有一个类

C、一个源文件中可以有多个公共类

D、一个源文件只能供一个程序使用

10、关于方法main()的说法哪个正确?()

A.方法main()只能放在公共类中

B main()的头定义可以根据情况任意更改

C.一个类中可以没有main()方法

D.所有对象的创建都必须放在main()方法中

11、构造函数何时被调用?()

A、创建对象时

B、类定义时

C、使用对象的方法时

D、使用对象的属性时

12、抽象方法:()

A、可以有方法体

B、可以出现在非抽象类中

C、是没有方法体的方法

D、抽象类中的方法都是抽象方法

13、关于继承的说法正确的是:()

A、子类将继承父类所有的属性和方法。

B、子类将继承父类的非私有属性和方法。

C、子类只继承父类public方法和属性

D、子类只继承父类的方法,而不继承属性

14、关于构造函数的说法哪个正确?()

A、一个类只能有一个构造函数

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

C、构造函数与类同名

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

15、this和super:

A、都可以用在main()方法中

B、都是指一个内存地址

C、不能用在main()方法中

D、意义相同

16、关于super的说法正确的是:

A、是指当前对象的内存地址

B、是指当前对象的父类对象的内存地址

C、是指当前对象的父类

D、可以用在main()方法中

17、覆盖与重载的关系是()

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载

D.覆盖与重载是同一回事

18、关于接口哪个正确?()

A、实现一个接口必须实现接口的所有方法

B.一个类只能实现一个接口

C.接口间不能有继承关系

D.接口和抽象类是同一回事

19、异常包含下列哪些内容?()

A.程序执行过程中遇到的事先没有预料到的情况

B.程序中的语法错误

C.程序的编译错误

D.以上都是

20、对于已经被定义过可能抛出异常的语句,在编程时:()

A、必须使用try/catch语句处理异常,或用throws将其抛出

B.如果程序错误,必须使用try/catch语句处理异常

C.可以置之不理

D.只能使用try/catch语句处理

1-5:BDBDA

6-10:CBCAC

11-15:ACBCC

16-20:BAAAA

1、关于Java语言叙述错误的是:()

A.Java语言具有跨平台性

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

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

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

2、以下叙述正确的是:()

A.构造方法必须是public方法

B.main方法必须是public方法

C.Java应用程序的文件名可以是任意的

D.构造方法应该声明为void类型

3、关于Java中数据类型叙述正确的是:()

A、整型数据在不同平台下长度不同

B.boolean类型数据只有2个值,true和false

C.数组属于简单数据类型

D.Java中的指针类型和C语言的一样

4、设int x=1,float y=2,则表达式x / y的值是:()

A.0

B.1

C.2

D.以上都不是

5、以下语句有语法错的是:()

A.int x=1;y=2;z=3

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

C.while (x>5);

D.for(; ;);

6、关于类和对象的叙述正确的是:()

A.Java的类分为两大部分:系统定义的类和用户自定义的类

B.类的静态属性和全局变量的概念完全一样,只是表达形式不同

C.类的成员至少有一个属性和一个方法

D.类是对象的实例化

7、以下有关构造方法的说法,正确的是:()

A.一个类的构造方法可以有多个

B.构造方法在类定义时被调用

C.构造方法只能由对象中的其它方法调用

D.构造方法可以和类同名,也可以和类名不同

8、以下有关类的继承的叙述中,正确的是:()

A.子类能直接继承父类所有非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性

C.子类只能继承父类的非私有属性,不能继承父类的方法

D.子类不能继承父类的私有属性

9、下列属于容器的组件有:()

A.JButton

B.JPane

C.Canvas

D.JTextArea

10、void 的含义:()

A.方法体为空

B.定义的方法没有形参

C.定义的方法没有返回值

D.方法的返回值不能参加算术运算

11、关于Java中异常的叙述正确的是:()

A.异常是程序编写过程中代码的语法错误

B.异常是程序编写过程中代码的逻辑错误

C.异常出现后程序的运行马上中止

D.异常是可以捕获和处理的

12、所有的异常类皆继承哪一个类?()

A.java.io.Exception

B.https://www.doczj.com/doc/4b7044674.html,ng.Throwable

C.https://www.doczj.com/doc/4b7044674.html,ng.Exception

D.https://www.doczj.com/doc/4b7044674.html,ng.Error

13、下面哪个不是java语言中的关键字?()

A.long

B.sizeof

C.instanceof

D.Const

14、为实现进程之间的通信,需要使用下列那种流才合适?()

A.Data stream

B.File stream

C.Buffered stream

D.Piped stream

15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?()

A.ActionListener

B.MouseListener

C.MouseMotionListern

D.ItemListener

16、给出以下关于一个使用适当的字符间距的字体的TextField的表达式TextField t = new TextField("they are good",40);//40指的是像素哪些叙述是对的?()

A. 被显示的字符串可以使用多种字体。

B. 一行中最大的字符数是40

C. 显示的宽度正好是40个字符宽。

D. 用户可以编辑字符。

17、关于垃圾收集的哪些叙述是对的? ()

A. 程序开发者必须自己创建一个线程进行内存释放的工作。

B. 垃圾收集将检查并释放不再使用的内存。

C. 垃圾收集允许程序开发者明确指定并立即释放该内存。

D. 垃圾收集能够在期望的时间释放被java对象使用的内存。

18、给出下面的代码

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. 第3行

B. 第5行

C. 第6行

D. 第10行

19、Thread的方法resume()负责恢复哪些线程的执行? ()

A. 通过调用stop()方法而停止的线程。

B. 通过调用sleep()方法而停止运行的线程。

C. 通过调用wait()方法而停止运行的线程。

D. 通过调用suspend()方法而停止运行的线程。//已经过期了

20、有关线程的哪些叙述是对的? ()

A. 一旦一个线程被创建,它就立即开始运行。

B. 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

C. 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。//比它优先级高的进程抢占了cpu,它运行的时间根据操作系统而定;

D. 一个线程因为不同的原因停止并进入就绪状态。//可运行状态

1-5:CBBDA

6-10:AADBC

11-15:DCBDD

16-20:DBDDB

1、Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()

A、String args

B、String ar[]

C、Char arg

D、StringBuffer args[]

2、以下关于继承的叙述正确的是()

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

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

C、在Java中一个类不能同时继承一个类和实现一个接口

D、在Java中接口只允许单一继承

3、paint()方法使用哪种类型的参数? ()

A、Graphics

B、Graphics2D

C、String

D、Color

4、以下哪个不是Java的原始数据类型()

A、int

B、Boolean

C、float

D、char

5、以下哪项可能包含菜单条()。

A、Panel

B、Frame

C、Applet

D、Dialog

6、若需要定义一个类域或类方法,应使用哪种修饰符?()

A、static

B、package

C、private

D、public

7、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。A、init()

B、start()

C、destroy()

D、stop()

8、给出下面代码,关于该程序以下哪个说法是正确的?()

public class Person{

static int arr[] = new int[5];

public static void main(String a[])

{

System.out.println(arr[0]);}

}

A、编译时将产生错误

B、编译时正确,运行时将产生错误

C、输出零

D、输出空

9、下列哪些语句关于Java内存回收的说明是正确的? ()

A、程序员必须创建一个线程来释放内存

B、内存回收程序负责释放无用内存

C、内存回收程序允许程序员直接释放内存

D、内存回收程序可以在指定的时间释放内存对象

10、以下哪个关键字可以用来对对象加互斥锁?()

A、transient

B、synchronized

C、serialize

D、static

11、以下代码段执行后的输出结果为()

int x =-3;

int y =-10;

System.out.println(y%x);

A、-1

B、2

C、1

D、3

12、有以下程序片段,下列哪个选项不能插入到行1。()

1.

2 .public class Interesting{

3. //do sth

4.}

A、import java.awt.*;

B、package mypackage;

C、class OtherClass{ }

D、public class MyClass{ }

13、设有下面两个赋值语句:

a = Integer.parseInt(“12”);

b = Integer.valueOf(“12”).intValue();

下述说法正确的是()。

A、a是整数类型变量,b是整数类对象。

B、a是整数类对象,b是整数类型变量。

C、a和b都是整数类对象并且值相等。

D、a和b都是整数类型变量并且值相等。

14、FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型?

A、OutputStream

B、File

C、InputStream

D、BufferedOutputStream

15、在编写Java Applet程序时,需在程序的开头写上( )语句。

A、import java.awt.* ;

B、import java.applet.Applet ;

C、import java.io.* ;

D、import java.awt.Graphics ;

16、类Parent、Child定义如下:

1.public class Parent

2.{ public float aFun(float a, float b) throws

3.IOException { }

4.}

5.public class Child extends Parent{

6.

7.}

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

A、float aFun(float a, float b){ }

B、public int aFun(int a, int b)throws Exception{ }

C、public float aFun(float p, float q){ }

D、public int aFun(int a, int b)throws IOException{ }

17、在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。

4、private B、protected C、private与protected D、public

18、有以下方法的定义,请选择该方法的返回类型()。

ReturnType method(byte x, double y)

{

return (short) x/y*2;

}

3、byte B、short C、int D、double

19、关于以下代码段的说法正确的是()

1.String s="abcde";

2.StringBuffer s1=new StringBuffer("abcde");

3.if(s.equals(s1))

4.s1=null;

5.if(s1.equals(s))

6.s=null;

A、第1行编译错误,String的构造器必须明确调用

B、第3行编译错误,因为s与s1有不同的类型

C、编译成功,但执行时在第5行有异常抛出

D、编译成功,过程中也没有异常抛出

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

1. class X{

2. protectied String toString( )i{

3. return super.toString();}

4. }

A、编译通过运行无异常

B、编译通过但运行时出错

C、行2出错,不能成功编译

D、不能成功编译,行3出错

1-5:BAABB

6-10:AACBB

11-15:ADDAB

16-20:ADDDC

填空题

21、如果将类MyClass声明为public,它的文件名称必须是()才能正常编译。

22、Java程序中的单行注释符是(),多行注释符是()。

23、Java中布尔类型的常量有两种,它们是()和()。

24、Java中用于定义小数的关键字有两个:()和(),后者精度高于前者。

25、Java中用于两个数相等比较的运算符是:(),用于不相等比较的运算符是()。

26、在Java中定义一个字符串类型的变量str的语句是:(),定义一个具有10个元素的整型数组a的语句是:()。

27、导入mypackage包中的所类的命令是()。

28、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(),数组名是(),数组的大小为(),数组元素下标的使用范围是()。

29、假设x=13,y=4,则表达式x%y != 0的值是(),其数据类型是()。

30、异常处理是由()、()和finally块三个关键所组成的程序块。

31、以下程序段的输出结果是()

int x = 5, y = 6, z = 4;

if (x + y > z && x + z > y && z + y > x)

System.out.println("三角形");

else

System.out.println("不是三角形");

32、下面程序段的执行结果是()

int a[] = { 2, 3, 4, 5, 6 };

for (int i = a.length - 1; i >= 0; i--)

System.out.print(a[i] + "");

21、MyClass.java

22、// 、/* */

23、true false

24、float double

25、== <>

26、String str; int [] arr = new int[10];

27、import mypackage.*;

28、int arr 5 0到4

29、true boolean

30、try catch

32、6 5 4 3 2

21、定义类的保留字是( ),定义接口的保留字是( )。

22、Socket通常也称为( ),用于描述( ) 和( )。

23、线程的优先级在( )至( )之间,数值越大( )。

24、构造方法是一种特殊的成员方法,构造方法名与( ) 相同。

25、Java语言只允许单继承,指每个类只能有一个( )。

26、Java源程序的扩展名是( ),经过编译后的程序的扩展名是()。

27、在一个时间只能由一个线程访问的资源称为( ) 。访问临界资源的代码( )。

28、在多线程系统中,多个线程之间有( ) 和( ) 两种关系。

21、class interface

22、套接字IP地址端口

23、1 10 任务越紧急

24、类名

25、父类

26、.java .class

27、临界资源临界代码

28、同步互斥

21、创建类的对象时,使用运算符________________给对象分配内存空间。

22、定义类的构造方法不能有返回值类型,其名称与_____名相同。

23、Java语言中关键字_____表示双精度类型。

24、若有定义:float b={1.1f, 3.5f, 6.8f};,则b.length()的值是_______。

25、若有类定义:

class B extends A{

}

则类B是类A的______。

26、接口中的成员只有静态常量和______。

27、在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。

28、关键字______用于导入包中的类到程序中,供程序中使用。

29、Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的_____块来捕获和处理异常。

30、程序中实现多线程的方法有两种:继承_____类和实现Runnable接口。

21.new

22.类

24. 3

25.子类

26. 抽象方法

27.super

28. import

29. catch

30. Thread

三、判断题,正确的请在括号内打“√”,错误的打“×”。

29、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

()

30、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

()

31、Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。()

32、构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。()

33、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。()

34、拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。()

35、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。

()

36、静态初始化器是在其所属的类加载内存时由系统自动调用执行。()

37、在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。()

29-33:√×××√ 34-37:√×√×

33、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。

()

34、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。

()

35、Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。()

36、构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。()

37、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。()

38、拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。()

39、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。()

40、静态初始化器是在其所属的类加载内存时由系统自动调用执行。()

41、在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。()

33-37:√×××√ 38-41:√×√×

四、程序阅读题

38、以下程序的输出结果为__________________________。

public class Person {

String name;

int age;

public Person(String name, int age) {

https://www.doczj.com/doc/4b7044674.html, = name;

this.age = age;

}

public static void main(String[] args) {

Person c = new Person("Peter", 17);

System.out.println(https://www.doczj.com/doc/4b7044674.html, + " is " + c.age + " years old!");

}

}

39、下列程序的运行结果是____________________________。

public class MyClass {

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

void out() {

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

System.out.print(a[j] + "");

}

public static void main(String[] args) {

MyClass my = new MyClass();

my.out();

}

}

40、以下程序的输出结果为______________________________。

public class Course {

private String cNumber;

private String cName;

private int cUnit;

public Course(String number, String name, int unit) { cNumber = number;

cName = name;

cUnit = unit;

}

public void printCourseInfo() {

System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit);

}

}

class CourseTest {

public static void main(String[] args) {

Course c;

c = new Course("101", "ASP", 3);

c.printCourseInfo();

}

}

38:Peter is 17 years old!

39:12345_

40:课程号:101 课程名:ASP 学分:3

40、以下程序的输出结果为__________________________。

public class Person {

String name;

int age;

public Person(String name, int age) {

https://www.doczj.com/doc/4b7044674.html, = name;

this.age = age;

}

public static void main(String[] args) {

Person c = new Person("Peter", 17);

System.out.println(https://www.doczj.com/doc/4b7044674.html, + " is " + c.age + " years old!");

}

}

41、下列程序的运行结果是____________________________。

public class MyClass {

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

void out() {

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

System.out.print(a[j] + "");

}

public static void main(String[] args) {

MyClass my = new MyClass();

my.out();

}

}

42、以下程序的输出结果为______________________________。

public class Course {

private String cNumber;

private String cName;

private int cUnit;

public Course(String number, String name, int unit) { cNumber = number;

cName = name;

cUnit = unit;

}

public void printCourseInfo() {

System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit);

}

}

class CourseTest {

public static void main(String[] args) {

Course c;

c = new Course("101", "ASP", 3);

c.printCourseInfo();

}

}

40:Peter is 17 years old!

41:12345_

42:课程号:101 课程名:ASP 学分:3

五、编程题

41、按以下要求编写程序

(1) 创建一个Rectangle类,添加width和height两个成员变量

(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积

(3) 编程利用Rectangle输出一个矩形的周长和面积

41、解答:

public class Rectangle {

float width, height;

public Rectangle(float width, float height) { this.width = width;

this.height = height;

}

public float getLength(){

return (this.width + this.height) * 2;

}

public float getArea(){

return this.width * this.height;

}

public static void main(String [] args) {

Rectangle rect = new Rectangle(10, 20);

System.out.println("周长是:" + rect.getLength());

System.out.println("面积是:" + rect.getArea());

}

}

42、按以下要求编写程序

(1) 编写Animal接口,接口中声明run() 方法

(2) 定义Bird类和Fish类实现Animal接口

(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法

42、解答:

public interface Animal {

void run();

}

class Bird implements Animal {

public void run() {

System.out.println("鸟儿在飞...");

}

}

class Fish implements Animal {

public void run() {

System.out.println("鱼儿在游...");

}

}

public class TestAnimal {

public static void main(String[] args) {

Bird bird = new Bird();

bird.run();

Fish fish = new Fish();

fish.run();

}

}

43、编写一个程序(Exercise1.java),判断101-200之间有多少个素数,并输出所有素数,每行只能显示十个

43、public class Exercise1{

public static void main(String[] args) {

int i, j, k;//i代表的是从101到200之间的数字,j代表的一个中间变量素数

int count = 0;//count代表的是101到200之间的素数的个数

for (i = 101; i <= 200; i++) {

for (j = 2, k = (int) Math.sqrt(i); j <= k; j++) {

if (i%j==0)

break;

}

if (j > k){

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

count++;

}

//每行10个

if ( count%10 == 0 ){

System.out.println();

}

}

}

}

44、编写一个程序(Exercise2.java),判断一个5位数是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

44、法一:

import java.util.*;

public class Exercise2{

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入一个5位数:");

int num = sc.nextInt();

if (isPalindromeNumber(num))

System.out.println("是回文数!");

else

System.out.println("不是回文数!");

}

public static boolean isPalindromeNumber(int num) { final int ARRAY_SIZE = 10;

int array[] = new int [ARRAY_SIZE];

int i, j, k = 0;

while (num > 0) {

array[k++] = num%10;

num /= 10;

}

for (i = 0, j = k - 1; i < j; ++i, --j)

if (array[i] != array[j])

return false;

return true;

}

}

法二:

import java.util.*;

public class Exercise2 {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.println("请输入一个5位数:");

int num = sc.nextInt();

int n1=num/10000;

int n2=num%10000/1000;

int n4=num%100/10;

int n5=num%10;

if(n1==n5&&n2==n4)

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.doczj.com/doc/4b7044674.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.doczj.com/doc/4b7044674.html, B)https://www.doczj.com/doc/4b7044674.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

相关主题
文本预览
相关文档 最新文档