文档库 最新最全的文档下载
当前位置:文档库 › JAVA考试复习题2 (含有答案)

JAVA考试复习题2 (含有答案)

JAVA考试复习题2 (含有答案)
JAVA考试复习题2 (含有答案)

《现代程序设计》(JA V A)考试复习题

一、选择题

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

A.Java语言具有跨平台性B.Java是一种面向对象的语言

C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对

解析:java没有多继承只能是继承一个类但是可以实现多个接口故选C

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

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

C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型

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

A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和false C.数组属于简单数据类型D.Java中的指针类型和C语言的一样

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

A.0 B.1 C.2 D.以上都不是

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

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 )

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

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

C.类的成员至少有一个属性和一个方法D.类是对象的实例化

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

A.一个类的构造方法可以有多个B.构造方法在类定义时被调用

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

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

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

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

B.子类只能继承父类的方法,不能继承父类的属性

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

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

9、void 的含义:(C )

A.方法体为空B.定义的方法没有形参

C.定义的方法没有返回值D.方法的返回值不能参加算术运算

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

A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的

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

A.java.io.Exception B.https://www.wendangku.net/doc/741274642.html,ng.Throwable

C.https://www.wendangku.net/doc/741274642.html,ng.Exception D.https://www.wendangku.net/doc/741274642.html,ng.Error

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

A.long B.sizeof C.instanceof D.const

13、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A. .java

B. .class

C. .html

D. .exe

14、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。

A. 3

B. 3. 5

C. 4

D. 5

15、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。

A. start( )

B. stop( )

C. init( )

D. paint( )

16、不允许作为类及类成员的访问控制符的是( C )。

A. public

B. private

C. static

D. protected

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

A. static void method( )

B. public void method( )

C. final void method( )

D. abstract void method( )

18、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行………( A ) A)init() B)start() C)destroy() D)stop()

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

ReturnType method(byte x, double y)

{return (short)x/y*2;}

A)byte B)short C)int D)double

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

A)Panel B)Frame C)Applet D)Dialog

21、Java application中的主类需包含main方法,main方法的返回类型是什么?( D )A)int B)float C)double D)void

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

A)String args B)String ar[] C)Char arg D)StringBuffer args[] 23、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A). java B) .class C). html D).exe

24、设int型变量x = 1 , y = 2 , z = 3,则表达式y+=z--/x++ 的值是( D )。

A)3 B)3. 5 C)4 D)5

25、不允许作为类及类成员的访问控制符的是( C )。

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

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

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

C)final void method( ) D)abstract void method( )

27、以下哪一个不是JA V A的标准数据流( D )。

A)标准输出数据流B)标准输入数据流C)标准错误数据流D)标准运算数据流

28.设有下面两个赋值语句:( )

a = Integer.parseInt(“123”);

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

下述说法正确的是(D )。

A)、a是整数类型变量,b是整数类对象。B)、a是整数类对象,b是整数类型变量。C)、a和b都是整数类对象并且值相等。D)、a和b都是整数类型变量并且值相等。29、下列代表十六进制整数的是( D )

A)0123 B)1900 C)fa00 D)0xa2

30、在Java中,实现用户界面功能的包是………………………………………( D )

A)java.applet B)java.transaction C)java.util D)java.awt 31、"++"运算符的操作数个数是( A )

A)1个B)2个C)3个D)4个

32、已知:int[] a = new int[100];在https://www.wendangku.net/doc/741274642.html,下列给出的数组元素中,非法的是

(D )

A)a[0] B)a[1] C)a[99] D)a[100]

33、用于输入压缩文件格式的ZipOutputStream 类所属包是( A )

A)、java.util.zip B)、java.io C)、java.nio D)、java.util 34、在Java中,负责对字节代码解释执行的是_ __B__。

A)垃圾回收器B)虚拟机C)编译器D)多线程机制

35、下列叙述中,正确的是 A

A)Java语言的标识符是区分大小写的B)源文件名与public类名可以不相同

C)源文件扩展名为.jar D)源文件中public类的数目不限

二、填空题

1、面向对象程序设计所具有的基本特征是_抽象性,封装性,继承性,多态性

2、数组x定义如下

int x[ ][ ]=new int[3][2]

则x..length 的值为___ _3______,

x[0].length 的值为____ _2_____。

3、Java中实现多线程一般使用两种方法,一是_继承Thread类_,二是实现Runnable方法

4、Java的图形用户界面设计中,有很多布局管理器用来摆放组件的位置,一般用到的布局管理器有(列出四种即可)_FlowLayout_,GridLayout,BorderLayout,CardLayout__

5、Applet常用的方法是:int()、run()、stop()和destroy()。

6、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码、和解释运行字节码。

7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是Applet类的子类并且存储该源程序文件的文件名为MyApplet。

8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译

器java.exe 编译该源程序文件将产生3个文件名与类名相同而扩展名为.class 的字节码文件。

9、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占

用 2 字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。

10、设x = 2 ,则表达式( x + + )/3 的值是0 。

11、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true 和false 。

12、抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终方法是不能被当前类的子类重新定义的方法。

13、创建一个名为MyPackage的包的语句是package MyPackage ,该语句应该放在程序的位置为:应在程序第一句

14、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120 。

int s = 0 ;

for ( int i = 0 ; i < MyIntArray.length ; i + + )

if ( i % 2 = = 1 ) s += MyIntArray[i] ;

System.out.println( s );

15、在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多_重继承关系。

16、抽象类是一种特殊的类,它本身不能够被实例化,但可被继承.

17、设x = 2 ,则表达式( x + + )/3 的值是0

18、执行以下几个语句后的输出结果是This two

String s = “This one” , s1=”This two”;

int i=5

if (i>10)

System.out.print(s) ;

else

System.out.print(s1) ;

19、程序中,若

int x=667;

int& p=x;

则p= _ 677 ___,

20、继承是面向对象的语言一个重要的机制,通过这种机制可以在一个一般类的基础

上建立新类。

21.、如果类Alpha继承了类Beta,则类Alpha称为_子_类,类Beta称为__父类。

22、已知int a,b; 则表达式a=2,b=5,a++;b++;a+b;的值为9 。

23、Java技术的三大特征分别是虚拟机、垃圾回收器、代码安全。

三、阅读程序,写出程序的输出结果(每题5分,共20分)

1、class A{

private int privateVar;

A(int _privateVar){

privateVar=_privateVar;

}

boolean isEqualTo(A anotherA){

if(this.privateVar == anotherA.privateVar)

return true;

else

return false;

}

}

public class B{

public static void main(String args[]){

A a = new A(1);

A b = new A(2);

System.out.println(a.isEqualTo(b));

}

}

程序的输出结果为:__false_ _____

2、class A {

double f(double x, double y) {

return x * y;

}

}

class B extends A {

double f(double x, double y) {

return x + y;

}

}

public class Test {

public static void main(String args[]) {

B obj = new B();

System.out.println("The program output is " + obj.f(4, 6)); }

}

程序的输出结果为:The program output is 10_

3、public class Unchecked {

public static void main(String[] args) {

try {

method();

} catch (Exception e) {

System.out.println("A");

} finally {

System.out.println("B");

}

}

static void method() {

try {

wrench();

System.out.println("C");

} catch (ArithmeticException e) {

System.out.println("D");

} finally {

System.out.println("E");

}

System.out.println("F");

}

static void wrench() {

throw new NullPointerException();

}

}

程序的输出结果为:

E

A

B

4、public class Test {

public static void main(String[] args) {

int x;

int a[] = { 0, 0, 0, 0, 0, 0 };

calculate(a, a[5]);

System.out.println("the value of a[0] is " + a[0]); System.out.println("the value is a[5] is " + a[5]);

}

static int calculate(int x[], int y) {

for (int i = 1; i < x.length; i++)

if (y < x.length)

x[i] = x[i - 1] + 1;

return x[0];

}

}

程序的输出结果为:

the value of a[0] is 0

the value is a[5] is 5

5、import java.io.*;

public class abc

{ public static void main(String args[ ])

{ AB s = new AB("Hello!","I love JA V A.");

System.out.println(s.toString( ));

}

}

class AB {

String s1;

String s2;

AB( String str1 , String str2 )

{ s1 = str1; s2 = str2; }

public String toString( )

{ return s1+s2;}

}

Hello! I love JA V A.

6、import java.io.* ;

public class abc

{

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="+s);

}

}

S=180

7、import java.io.* ;

public class abc

{

public static void main(String args[ ]) )

{ System.out.println("a="+a+"\nb="+b); }

}

class SubClass extends SuperClass

{ int c;

SubClass(int aa,int bb,int cc)

{ super(aa,bb);

c=cc;

}

}

class SubSubClass extends SubClass

{ int a;

SubSubClass(int aa,int bb,int cc)

{ super(aa,bb,cc);

a=aa+bb+cc;

}

void show()

{ System.out.println("a="+a+"\nb="+b+"\nc="+c); }

}

a=60

b=20

c=30

四写出下列程序完成的功能。

1、public class Sum

{ public static void main( String args[ ])

{ double sum = 0.0 ;

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

sum += 1.0/(double) i ;

System.out.println( "sum="+sum );

}

}

计算1/1+1/2+1/3+......+1/100的值

2、import java.io.* ;

public class Reverse

{ public static void main(String args[ ])

{ int i , n =10 ;

int a[ ] = new int[10];

for ( i = 0 ; i < n ; i ++ )

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数

} catch ( IOException e ) { } ;

for ( i = n-1 ; i >= 0 ; i ――)

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

System.out.println( );

}

}

从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数3、import java.awt.*;

public class abc

{ public static void main(String args[])

{ new FrameOut(); }

}

class FrameOut extends Frame // Frame为系统定

{ Button btn; // 义的窗框类FrameOut( )

{ super("按钮");

btn = new Button("按下我");

setLayout(new FlowLayout( ));

add(btn);

setSize(300,200);

show( );

}

}

创建一个标题为“按钮”的窗框,窗框中显示“按下我”字样的按钮。

4、import java.io.*;

public class abc

{ public static void main(String args[])

{ SubClass sb = new SubClass( );

System.out.println(sb.max( ));

}

}

class SuperClass

{ int a = 10 , b = 20 ; }

class SubClass extends SuperClass

{ int max( ) { return ((a>b)?a:b); } }

求两个数的最大值

五、使用Java语言编写程序

1、编写一个字符界面的Java Application 程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。

import java.io.*;

public class abc

{

public static void main(String args[ ])

{int i,n=10,max=0,min=0,temp=0;

try{

BufferedReader br = new BufferedReader (

new IputStreamReader(System.in));

max = min=Integer.parseInt(br.readLine( ));

}catch (IOExceptione){};

for( i=2;i<=n;i++) {

try{ BufferedReader br = new BufferedReader(

new IputStreamReader(System.in));

temp=Integer.parseInt(br.readLine( ));

If(temp>max) max=temp;

If(temp

}catch (IOExceptione){};

}system.out.println("max="+max+"/n min="+min);

}

}

2、编写一个完整的Java Applet 程序使用复数类Complex验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i 。

复数类Complex必须满足如下要求:

(1) 复数类Complex 的属性有:

RealPart : int型,代表复数的实数部分

ImaginPart : int型,代表复数的虚数部分

(2)复数类Complex 的方法有:

import java.applet.*;

import java.awt.*;

public class abc extends Applet

{

Complex a,b,c;

public void init( )

{a=new Complex(1,2);

b=new Complex(3,4);

c=new Complex();

}

public void paint(Graphics g)

{c=https://www.wendangku.net/doc/741274642.html,plexAdd(b);

g.drawString("第一个复数:"+a.toString(),10,50);

g.drawString("第二个复数:"+b.toString(),10,70);

g.drawString("第三个复数:"+c.toString(),10,90);

}

}

class Complex

{

int RealPart;//

int ImaginPart;//

Complex(){RealPart=0;ImaginPart=0;}

Complex(int r,int i)

{RealPart=r;ImaginPart=i;}

Complex complexAdd(Complex a)

{ Complex temp=new Complex( );//

temp.RealPart=RealPart+a.RealPart;

temp.ImaginPart=ImaginPart+a.ImaginPart;

return temp;

}

Public String toString( )

{return (RealPart+"+"+ImaginPart+"i");}

}

3. 请写一个程序, 类名叫HelloWorld,类里面有一个成员方法sayHello(),这个方法能向控制台输出HelloWorld.

Public class HelloWorld

{

public void sayHello()

{Sydtem.out.println("HelloWorld!")

}

public static void main(String args[])

{HelloWorld hello=new HelloWorld();

hello.sayHello

}}

六、问答题

1、什么叫方法的重载?构造函数可以重载吗?

一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同,构造方法可以重载

2、Frame类对象的默认布局是什么?和Panel类对象的默认布局相同吗?

Frame容器的默认布局是BorderLayout布局,Pamel容器的默认布局是FlowLayout布局,所以不同

3、什么是异常?为什么要进行异常处理?

异常是指由于程序运行时发生错误,从而导致程序错误结束。

在进行程序设计时,错误的产生是不可避免,没有异常处理代码的程序,在运行时发生错误则可能非正常结束,引起严重问题。因此Java给程序员提供了处理运行时错误的功能,称为异常处理。

4、谈谈final, finally, finalize的区别?

final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

finally—再异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹

配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。

finalize—方法名。Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。

1、简述java语言的特点?

答:Java语言是目前使用最为广泛的网络编程语言之一;具有面向对象与平台无关性多线程性、动态性等特点

2、简述Java程序的开发过程?

(1)使用一个文字编辑器,编写源文件。(2)使用java编译器,编译源文件得到字节码文件。(3)运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。

3、java源文件的命名规则是什么?

如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java ;如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java

4、怎样区分应用程序和小应用程序?

一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其main 方法必须被说明为public static void ;一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。

5、Java中共有哪些基本数据类型?

基本类型共有8种,分四类分别是:逻辑型字符型整型浮点型

6、Java中数据类型分别用什么符号来表示的?

逻辑型用boolean 表示;字符型用char表示;整型共有4种分别是byte、short、long、int ;浮点型共两种float和double

7、简答标示符的概念及定义原则?

标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。

Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java中的关键字不能用作标示符。

8、简答什么是强制类型转换及转换格式?

当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。当把在内存中占字节数较少的变量的值赋给占字节较多的变量时,系统自动完成数据类型的转换

格式:(数据类型名)变量名或表达式

9、简答表达式++x和x++的区别

++x表示在使用x之前,先使x的值加1 ;x++表示在使用x之后,使x的值加1

10、Java中常用的运算符按功能分有哪些?

Java运算符按功能分6种,具体如下

算术运算符、关系运算符、逻辑运算符

位运算符、赋值运算符、条件运算符

11、Java中结构化程序设计有哪三种基本流程,及分别对应java中那些语句?

结构化程序设计有顺序、分支、循环三种基本流程

java中的分支语句包括if语句、switch语句;

循环语句包括while语句、do-while语句、for语句;

其他如对象、变量定义语句、赋值语句、方法调用语句等都是顺序语句。

13、package语句与import语句分别作用是什么?

package语句作为java源程序的第一条语句,指明该源文件定义的类所在的包。

import语句作用是为了能使用java提供的类,可以使用import语句来引入所需要的类。14、简述编程语言的几个发展阶段?

(1)面向机器语言(2)面向过程语言(3)结构化程序设计阶段(4)面向对象编程15、什么是类及类的实现包括什么?

类是组成java程序的基本要素;类封装了一类对象的状态和方法

类是用来定义对象的模板;类的实现包括两部分:类声明和类体

16、什么是方法重载?

方法重载是指,一个类中可以有多个方法具有相同的名字和类型

但这些方法的参数必须不同

或者是参数个数不同,或者是参数类型不同

17、什么是构造方法?

构造方法是一种特殊方法;它的名字必须与它所在的类的名字完全相同;

并且不返回任何数据类型,即它是void型

18、什么是实例变量和类变量及他们的区别?

用修饰符static说明的变量是类变量,其他是实例变量;不同对象的实例变量将分配不同的内存空间;所有对象的类变量都分配给相同的一处内存,改变其中一个对象的类变量的值,会影响其他对象的这个类变量的值。

19、什么是实例方法和类方法及他们的区别?

用修饰符static说明的方法是类方法,其他是实例方法

当一个类创建了一个对象后,这个对象就可以调用该类的方法

区别就在于类方法不仅可以有对象调用而且还可以直接由类名调用

而实例方法不能由类名调用。

20、创建一个对象包括哪些过程?

创建一个对象分两个步骤:(1)对象的声明,格式是:类的名字对象名

(2)为声明的对象分配内存,使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法

21、为什么说构造方法是一种特殊方法及由谁调用?

构造方法的名字和类名相同,且没有任何返回值;

创建一个对象是执行构造方法,由系统自动调用

22、类及类成员的访问控制符有哪些,并说明私有权限和公有权限的使用方法?

控制符有4种:public protected private privateprotected

其中private权限的成员只能在本类中使用,public公有权限的成员不但能在本类中使用,还可在类外使用。

23、简述什么是类的继承机制?

继承是一种由已有的类创建新类的机制

利用继承可以创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类

新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为

由继承而得到的类称为子类;被继承的类称为父类

24、简述如何会发生成员变量的隐藏和方法重写?

当子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变量。

当子类中定义了一个方法,并且这个方法的名字、返回类型、及参数个数和类型跟父类的某个方法完全相同时,父类方法被隐藏,即重写了父类的方法。

25、用final修饰符修饰的类和方法有什么特点

用final修饰的类不能被继承,即不能有子类;用final修饰的方法不能被重写

26、用abstract修饰符修饰的类和方法有什么特点?

用abstract修饰的类不能创建对象,必须产生子类,有子类创建对象

用abstract修饰的方法只允许声明,而不允许实现。

如果一个类是一个abstract类的子类,它必须实现父类的abstract方法。

27、关键字super如何使用?

子类继承父类时可能会发生父类的成员变量被隐藏和父类中的成员方法被重写

如果在子类中想使用被子类隐藏的父类的成员变量或方法就可以使用关键字super

用super可以调用父类的构造方法和操作被隐藏的成员变量和方法

28、java是否支持多继承及java中采取什么机制来代替多重继承?

Java不支持多继承,即一个类只能有一个父类;单继承性使得java简单,易于管理程序

为了克服单继承的缺点,java使用了接口,一个类可以实现多个接口

29、java中如何定义和使用接口?

使用关键字interface来定义一个接口,接口的定义和类的定义很相似,分为接口的声明和接口体;一个类通过关键字implements声明自己使用一个或多个接口,如果使用多个接口,则用逗号隔开接口;如果一个类使用某个接口,那么这个类必须实现该接口的所有方法30、一个Java Applet的生命周期包括什么?

一个Java Applet的执行过程称为这个Java Applet的生命周期

一个完整的Java Applet所包含5个方法init( ) 、start( );stop( )、destroy( );paint(Graphics g) 31.、处理选择(Choice)控件上的事件?

选择控件的选择情况发生变化会产生HemEvent事件;处理该事件的接口是HemListener

接口中的方法是ItemStateChanged(HemEvent e);事件源获得监视器的方法是addHemListener( ) ;处理该事件时,如果想获得事件源可调用方法getHemSelectable( )

32、如何处理滚动列表(List)上的事件?

滚动列表可产生两种事件:双击和单击某项

当双击某项时,产生ActionEvent事件,获得事件监视器的方法是addActionListener( ),处理事件的接口是ActionListener ;接口中的方法是ActionPerformed(ActionEvent e),获得该事件的事件源的方法是getSource( )

当单击某项时,产生HemEvent事件,获得事件监视器的方法是addHemListener( ),处理事件的接口是HemListener ;接口中的方法是itemStateChanged(HemEvent e),获得该事件的事件源的方法是getHemSelectable .

33、何设置组件的字体和颜色?

(1)设置字体:用Font类创建一个字体对象,该对象表示一种字体;通过组件对象名调用方法SetFont(Font f),即可设置组件的字体

(2)设置颜色:用Color类创建两个颜色对象,表示两种颜色,一种颜色表示组件的前景色,另一种表示背景色:通过组件对象名调用方法SetBackground(Color C)可设置组件的背景色

调用方法SetForeground(Color C)可设置组件的前景色

34、何在窗口中增加菜单?

用MenuBar创建一个对象,表示一个菜单条,使用Fram中的方法SetMenuBar(MenuBar),可在窗口中增加一个菜单条

用Menu创建若干个对象,每一个对象表示菜单条上的一个菜单项

通过MenuBar的对象add(Menu)将一个菜单加到菜单条上

用MenuItem创建若干对象,每一个对象表示一个具体的菜单项

通过Menu对象调用方法add(MenuItem)可将一个菜单项加入到一个菜单中

35、如何处理菜单上的事件?

单击菜单项可产生ActionEvent事件;处理该事件的接口是Actionlistener

接口中的方法是actionPerformed(ActionEvent e);事件源获得监视器的方法是addActionListener( ) ; ActionEvent获得事件源的方法是getSource( )

36、如何增加菜单分割线?如何产生复选菜单项?

通过Menu类的对象调用方法addSeparator( ),可在当前菜单中增加一个分割线;用CheckboxMenuItem创建一个菜单项;通过Menu类的对象调用方法add(CheckboxMenuItem)将菜单项加入到菜单中,即可创建一个复选菜单项

37、如何绘制封闭的多边形?

使用Graphics中的drawpolygon(int xPoints[ ],int yPoints[ ],int nPoints)方法可绘制多边形

要绘制封闭的多边形,xPoints和yPoints表示的第一点和最后一点必须相同

38、什么是XOR绘图模式?

可调用方法SetXORMode( )将绘图模式设为XOR ;使用XOR模式时,绘制的图形颜色为当前的绘图颜色与所绘图形经过的区域颜色作XOR运算后所得

39、何处理MouseMotionListener接口事件?

鼠标移动事件有两种:拖动鼠标和移动鼠标

产生的事件类型MouseEvent ;获得监视器的方法是addMouseMotionListener( )

事件接口中的方法为mouseDragged(MouseEvent e) 和mouseMoved(MouseEvent e)

40、何处理键盘事件?

当按下,释放或敲击键盘上一个键时,就会产生事件KeyEvent ;事件的接口为KeyListener

事件获得监视器的方法addKeyListener( );事件的处理方法有三个,分别是keyPressed(KeyEvent e),keyTyped(KeyEvent e)和keyReleased(KeyEvent e)

41、用向量类的对象存储数据与用数组表示数据有什么区别?

(1)数组元素可以是任何类型的数据,向量中的元素不能是基本数据类型的数据(2)数组一旦用new运算符创建后,其大小不可以改变,向量对象的大小可根据元素的增加自动增加

42、Java中多线程是如何调度的?

线程调度器负责线程的排队和处理器在线程间的分配;线程在优先级基础上依据"先到先服务"的原则,即相同优先级的线程按启动的先后顺序执行,;高优先级线程先于低优先级运行43、在Applet中如何播放声音?

使用Applet中的一个静态方法newAudioClip(URL url,String name)

或Applet类的实例方法:getAudioClip(URL url,String name)

可得一个音频AudioClip的对象,通过该对象调用方法play( )可播放声音

44、线程中的方法wait(),notify()和notifyAll()的作用是什么?

(1)当一个线程使用的同步方法中用到某个变量,而此变量又需要其它线程修改后才能符合本线程的需要,则可以在同步方法中调用wait()方法,使本线程等待,并允许其它线程调用这个同步方法(2)其它线程在使用这个同步方法不需要等待,当它使用完这个同步方法时,用notifyAll()通知所有由于使用这个同步方法而处于等待的线程结束,再次使用这个同步方法(3)如果使第一个处于等待的线程结束等待,则调用方法notify()

45、如何用套接字建立两个程序间的通信?

(1)用Socket类建立客户到服务器的套接字的对象:Socket(String host,int port) (2)用ServerSocket建立接受客户套接字的服务器套接字对象:ServerSocket(int port)客户端与服务器端的端口号相同(3)客户端服务器对象调用方法accept()接受客户的套接字创建客户端套接字对象,服务器端套接字对象和调用方法accept()时都可能产生IOException,所以需对例外进行处理

46、Java中采用什么方法与数据库交互?

可以采用二种方法: (1)或者编写一个驱动程序接受JDBC调用,执行SQL对数据库的调用(2)或者使用已存在的ODBC驱动程序,用JDBC-ODBC桥将JDBC与ODBC连接起来

47、简述Java中打开与数据库连接的步骤?

(1)装载数据库驱动程序类(2)调用DriverManager的方法getConnection( ),并确定用于连接数据库的驱动程序,数据库文件名以及可选的用户ID和密码

48、JDBC有哪几个主要任务?

(1)建立同数据库的连接(2)发送SQL语句(3)处理查询结果

49、创建一个File对象有哪几种构造方法?

(1)包含路径名的字符串(2)含有路径名的字符串和含文件名的字符串(3)一个代表路径的文件和一个含有文件名的字符串

50、Java中的线程和多线程指的是什么?

(1)称程序中单个序列化的流控制为线程(2)多线程指的是在一个程序中可定义多个线程并同时运行它们,每个线程可以执行不同的任务

51、线程有哪些状态?它们是如何转换的?

线程在它的生命周期中有四种状态:创建, 运行,挂起,结束。

52、什么是同步机制?

(1)使共享对象将自己的成员方法定义为同步化方法(2)通过调用同步化方法来执行单一线程(3)其他线程不能同时调用一对象的同步化方法

53、简述向服务器发送信息的步骤?

(1)创建URL对象(2)建立连接到URL对象的通道(3)指定这个通道可输出

(4)指定通道所用的输出流(5)向输出流写入数据(6)关闭输出流

54、比较多线程与多任务的异同?

(1)多任务是针对操作系统而言的,表示操作系统可以同时执行多个程序

(2)多线程则是针对一个程序而言的,表示一个程序内部可以同时执行多个线程

55、向窗口添加菜单有哪几个步骤?

(1)生成菜单组件各个部分的对象;

(2)进行菜单组装,即把菜单加到菜单条上,把菜单项加到菜单中

56、ava.io包中封装的基本流类有哪几个?

共有四个:包括基于Unicode字符的输入流Reader,输出流Writer ,基于二进制字节的输入流InputStream ,输出流OutPut Stream

57、创建线程有哪些方法?

(1)通过继承线程类Thread创建线程类(2)建立一个实现Runnable接口的类来运行线程58、简述MouseEvent类的主要方法.

getX( ) getY( ) getModifiers( ) getClickCount( ) getSource( )

59、对话框能独立存在吗?其默认布局是什么?

不能其默认布局是BorderLayout布局

60、在Graphics类中,Java提供了哪几种文字输出方法?

(1)字符串输出方法drawString(String string ,int x,int y)

(2)字符输出方法drawChars(char chars[ ],int offset,int number,int x,int y)

(3)字节输出方法drawBytes(byte bytes[ ],int offset,int number,int x,int y)

《JAVA语言程序设计》期末考试试题及答案(2)

《JA V A语言程序设计》期末考试试题及答案 一、单选题 1、下列程序段执行后的结果是( A )。 String s = new String("abcdefg"); for (int i=0; i

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

java考试试卷及答案

JAVA考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能

JAVA笔试题答案在最后

测试题(笔试)Java 面向对象重庆足下科技有限公司

不定项选择题(40题,每题2.5分,总分100分,测试时间2小时) 1) 当试图编译并运行下面程序时会出现什么结果()(单选) class A{ public int getNumber(int a){ return a+1; } } class B extends A{ public int getNumber(int a, char c){ return a+2; } public static void main(String[] args){ B b=new B(); System.out.println(b.getNumber(0)); } } a) 编译错误 b) 运行错误 c) 1 d) 2 2) 当编译并运行下面程序时会出现什么结果( )(单选) public class MyAr{ public static void main(String argv[]){ int[] i = new int[5]; System.out.println(i[5]); } } a) 编译错误 b) 运行错误 c) 输出0 d) 输出“null” 3) final、finally、finalize三个关键字的区别是()(多选) a) final是修饰符(关键字)可以修饰类、方法、变量 b) finally在异常处理的时候使用,提供finally块来执行任何清除操作 c) finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做 必要的清理工作 d) finally和finalize一样都是用异常处理的方法

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 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

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

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基础笔试测试题及答案

Java 一章至五章考试 一.填空题(8分) 1.面向对象的三大原则是(封装),(继承)和(多态).2 分 2.如果想在对象实例化的同时就初始化成员属性,则使用(构造函数).2 分 3.(实体)方法和(构造)方法不能修饰为abstract ?2分 选择题(60分) 1)在Java语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _in sta nceof d) in sta nceof 2) 下列Java代码片段的输出结果是(a )。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.pri ntln( c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java代码中,空白处的代码是(b,c )。(选择两项) public in terface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl impleme nts Fee { public float calLabFee(float unitPrice, float time){ retur n un itPrice * time; } } public class Fee In terfaceTest { public static void main( Stri ng[] args){ Float labFee = fee.calLabFee(400.00,5); } }

JAVA试题_2

JAVA试题 一、选择 1.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2.给出下面代码: 1)class Parent{ 2)private String name; 3)public Parent(){} 4)}5)public class Child extends Parent{ 6)private String department; 7)public Child(){} 8)public String getValue(){return name;} 9)public static void main(String arg[]){ 10)Parent p=new Parent(); 11)}12)} 哪些行将引起错误? A第3行B第6行C第7行D第8行 3.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; //p,t and s are all non-null. if(t instanceof Person){s=(Student)t;} 最后一句语句的结果是: A将构造一个Student对象;B表达式是合法的; C表达式是错误的;D编译时正确,但运行时错误。 4.给出下面代码段 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)} 哪行将引起一个编译时错误?

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

JAVA语言程序设计期末考试试题及答案

《JA V A语言程序设计》期末考试试题及答案1(应考必备题库) 一、单选择题 1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、不允许作为类及类成员的访问控制符的是( C )。 A. public B. private C. static D. protected 4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 二、填空题 1、开发与运行Java程序需要经过的三个主要步骤为编辑源程序、 编译生成字节码和解释运行字节码。 2、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占 用2字节内存空间,这样,无论是中文字符还是英文字符,都是占 用2字节内存空间。 3、设x = 2 ,则表达式( x + + )/3 的值是0 。 4、若x = 5,y = 10,则x < y和x >= y的逻辑值分别为true和false。 5、抽象(abstract) 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。最终(final)方法是不能被当前类的子类重新定义的方法。 6、创建一个名为MyPackage 的包的语句是package MyPackage ; , 该语句应该放在程序的位置为:应该在程序第一句。 7、设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70}; 则执行以下几个语句后的输出结果是120。

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java考试习题及答案 2

Java 程序设计习题及历年考试题单项选择题(80) 1. 接口中的成员变量被隐含地声明为 (A)public static final (B)public final (C)public static (D)public abstract 2. 处理按钮点击事件的类需要实现哪个接口 (A)FocusListener (B)ActionListener (C)WindowListener (D)ItemListener 3. 已知: class A { public final void m() { System.out.println(“A.m”); } } public class B extends A { public void m() { System.out.println(“B.m”); super.m(); } public static void main(String [] args) { new B().m(); } } 那么结果为? (A)A.m (B)B.m (C)B.m A.m (D)编译错误 4. 抛出异常,使用关键字 (A)try (B)throw (C)finally (D)catch

5. 已知: class Base { public Base(String s) { System.out.print(“B”); } } public class Derived extends Base { public Derived (String s) { System.out.print(“D”); } public static void main(String [] args) { new Derived (“C”); } } 那么结果为? (A)BD (B)DB (C)C (D)编译错误 6. Java 中char类型的数据长度为 (A)8位 (B)16位 (C)32位 (D)64位 7. Java 编译输出文件的后缀是 (A).exe (B).java (C).class (D).obj 8. 已知: class C { public static void main(String[] args) { boolean a = true; boolean b = false; boolean c = true; if((a & b) | (b & c) & c) System.out.print(“A”); If((a = false) | (a & c) ) | (a | b)) S ystem.out.print(“B”); } }

java考试试卷及答案

JA V A考试试卷及答案 选择题 3、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画 图操作。 A. start() B. stop() C. init() D. paint() 3、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B A)安全性B)多线程C)跨平台D)可移植 4、下列哪个类声明是正确的?D A)abstract final class HI{···}B)abstract private move(){···} C)protected private number; D)public abstract class Car{···} 6、在Java语言中,下列哪些语句关于内存回收的说明是正确的? B A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 10、下列Object类中的方法,哪一项不是完全跟线程有关:A A.String toString() B.void notify() C.void notifyAll() D.void wait() 11、给出下面代码:C

public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是? A.编译时将产生错误; B.编译时正确,运行时将产生错误; C.输出零; D.输出空。 12、字符串是Java已定义的类型,关于它的构造函数,下面说法不正确的是:B A.String(char[] value, int offset, int count) B.String(int[] codePoints,int offset, int count) C.String(String original) D.String(StringBuffer buffer) 13、下列说法中正确的是:C A.导入包会影响程序的性能 B.包存储在类库中 C.包是类的容器D.上述说法都不对 14、下列不是String类的常用方法是:C

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

相关文档
相关文档 最新文档