当前位置:文档之家› java程序设计期末复习题

java程序设计期末复习题

java程序设计期末复习题
java程序设计期末复习题

第一章 JAVA概述

1、 Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。( )

2.Java语言是基于__________________计算的计算机语言;TCP/IP协议的编程接口叫做________________________类。

3、Java语言是( )

A、面向问题的解释型高级编程语言

B、面向机器的低级编程语言

C、面向过程的编译型高级编程语言

D、面向对象的解释型高级编程语言

1. Java语言有什么特点?

第二章基本语法

1、以下哪个不是Java的关键字?()

A.do B.try C.final D.While

2、以下哪项标识符是不合法的。( )

A.String B.$1 C.x D.3_a

3、以下哪个修饰符可用于定义成员常量?()

A.final B.static C.abstract D.const

4.以下选项中,合法的赋值语句是( )。

A) a = = 1; B) ++ i;

C) a=a + 1= 5; D) y = int ( i );

5.若所用变量都已正确定义,以下选项中,非法的表达式是( )。

A) a != 4||b==1 B) 'a' % 3

C) 'a' = 1/2 D) 'A' + 32

6.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。

A) switch(a+b); B) switch( a+b*3.0 )

{ …… } { …… }

C) switch a D) switch ( a%b )

{ …… } { …… }

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

int j=9, i=6;

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

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

8.现有一变量声明为boolean aa;下面赋值语句中正确的是( )。

A)aa=false; B)aa=False; C)aa="true"; D)aa=0;

9.设 i,j 为类 x 中定义的 double 型变量名,下列 x 类的构造函数中不正确的是( )。

A) double x(double k ){ i=k; return i; }

B) x(double m, double n ){ i=m; j=n; }

C) x( ){i=0;j=0 }

D) x(double k ){ i=k; }

10. 设 i、j、k 为类 x 中定义的 int 型变量名,下列类 x 的构造函数中不正确的是( )。

A) x( int m){ ... } B) void x( int m){ ... }

C) x( int m, int n){ ... } D) x( int h,int m,int n){ ... }

11、对于下列代码:

public class Example{

String str=new String("hello");

char ch[]={'d','b','c'};

public static void main(String args[]){

Example ex=new Example();

ex.change(ex.str,ex.ch);

System.out.println(ex.str+"and"+ex.ch[0]);

}

public void change(String str,char ch[]){

str="world";ch[0]= 'a';

}

}

输出结果是: ( )

A) hello and d B) hello and a

C) world and d D) world and a

12、某个main()方法中有以下代码:

String s1,s2;

int[] numbers;

int num;

num=15;

boolean switcher = false;

下列哪个说法是正确的? ( )

A)声明了1个基本类型变量和2个引用变量

B)声明了2个基本类型变量和2个引用变量

C)声明了2个基本类型变量和3个引用变量

D)声明了3个基本类型变量和3个引用变量

13、某个main()方法中有以下代码:

double[] num1;

double num3=2.0;

int num2=5;

num1=new double[num2+1];

num1[num2]=num3;

请问以上程序编译运行后的结果是 ( )

A) num1指向一个有5个元素的double型数组

B) num2指向一个有5个元素的int型数组

C) num1数组的最后一个元素的值为2.0

D) num1数组的第3个元素的值为5

14、考察下列程序代码:

final int BASE=10;

int nubmer;

下列哪个表达式可以求出number的最后一位数字? ( )

A) number - BASE

B) BASE / number

C) BASE % number

D) number % BASE

15、某个main()方法中有以下的声明:

final int MIN=0;

final int MAX=10;

int num=5;

下列哪个语句可以用来表示”num的值大于等于MIN并且小于等于MAX” ( )

A)!(numMAX)

B) num>=MIN && num<=MAX

C) num>MIN || num<=MAX

D) num>MIN || num

16、考虑以下的方法头:

public void myMethod1(int num1, char letter)

下列哪个描述是正确的? ( )

A)这个方法有个int型的参数,它的形式参数是letter

B)这个方法有个int型的参数,它的形式参数是num1

C)这个方法有个char型的参数,它的实际参数是myMethod1

这个方法是一个构造方法

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

ReturnType method(byte x, float y)

{

return (short)x/y*2;

}

A、byte

B、short

C、int

D、float

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

int k = 0;

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

A、一次也不执行

B、执行1次

C、无限次

D、有语法错,不能执行

19.下面是一个类的定义。

class ____________ // 定义名为myclass的类

{

__________ var=666;

int getvar()

{

return var;

}

}

20、阅读下面的程序,程序保存为Test.java:

1) public class Test

2) {

3) public static void main(String[] args)

4) {

5) System.out.println(args[2]);

6) }

7) }

以上程序经编译后用java Test 1 2 3 运行得到的输出结果是什么?

21、以下程序段的输出结果为 Message Four 。

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

if ( x>2){

if (y<5){

System.out.println(“Message one”);

}

else {

System.out.println(“Message two”);

}

}

else if(z>5){

System.out.println(“Message three”);

}

else {

System.out.println(“Message four”);

}

22、设x,y,z的值分别为ture、false和false,试计算下列逻辑表达式的值:

(1) x &&y||!z&&ture (2) !x||!y&&!z

(3) (!x&&!y)||(!y&&!z) (4) x&&y||true&&!z

23、阅读下面的程序,程序保存为Test.java:

8) public class Test

9) {

10) public static void main(String[] args)

11) {

12) System.out.println(args[2]);

13) }

14) }

以上程序经编译后用java Test 1 2 3 运行得到的输出结果是什么?

24、阅读下面的程序:

① public class Test{

② public static void main(String[] a){

③ int i = Integer.parseInt(a[0]);

④ switch (i) {

⑤ case 1:System.out.println("Frist season");break;

⑥ case 2:System.out.println("Second season");

⑦ case 3:System.out.println("3th season");break;

⑧ case 4:System.out.println("Last season");

⑨ }

⑩ }

? }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,用java Test 2 运行得到的输出结果是什么?

25.设int类型变量x和y分别初始化为3和100,下列语句的循环体共执行几次?执行完下列语句后x和y的值分别是多少?

(1) while(x<=y) x=2*x;

(2) while(y/x>5) if(y-x>25) x=x+1; else y=y/x;

(3) do{x=2*x;} while(x

(4) do{x=y/x;y=y-x;}while(x>=y);

(5) do{y=y/x-1; if(y>=x) y=x;} while(y>=1);

26、编写一个Java应用程序,在屏幕上输出“Welcome to Java”。

27、根据以下的设计要求编写java源代码。

类名: Circle

实例数据(均为private):

radius(double) //圆的半径

方法:

构造方法(没有参数,设置radius的值为10.0)

setRadius(有一个double参数,将radius的值设为这个新值),

getRadius (没有参数,返回radius的值)

sameSize(有一个参数,是另一个Circle对象的引用,如果两个Circle对象的radius的差小于0.001,则返回true)

28、分别利用for、while、do~while编写计算正整数n1到n2的累加和。

11、编写一个编程,给定一个t的值(t的值也可通过命令行输入),按下式计算y值并输出,要求分别写作if语句和switch语句。 t2-1 0≤t<1

t3-2·t-2 1≤t<3

y= t2-t·sint 3≤t<5

t+1 5≤t<7

t-1 其它

29、编写一个java程序Suansu.java,定义两个整型变量a和b,使用构造函数初始化a为10,b为5,并定义求出a与b的和(方法名为AddAB)、差(方法名为SubAB)、积(方法名为MultiAB)、商 (方法名为DivAB)的方法。

用另一个java程序TestSuansu.java测试Suansu.java定义的方法,并在屏幕上输出结果。

30.水仙花数是指其个位、十位、百位三个数的立方和等于这个数本身,求出所有水仙花数。

31.试利用for循环,计算1+2+3+4+5+…+100的总和。

32.利用do…while循环,计算1!+2!+3!+…+100!的总和。

33.使用循环嵌套,编写一个输出如下图形的程序:

*

* *

* * *

* * * *

* * * * *

第三章类和对象

1、在编写实现文件读写功能的Java程序时,需要在程序的开头写上语句()。

A.import java.applet.* ; B.import java.awt.* ;

C.import java.io.* ; D.import java.awt.event.* ;

2.有一个类A,以下为其构造函数的声明,其中正确的是( )。

A)void A(int x){...} B)A(int x){...}

C)a(int x){...} D)void a(int x){...}

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

A) int x( int a,b ) B) double x( int a,int b)

{ return (a-b); } { int w; w=a-b; }

C) double x( a,b ) D) int x( int a,int b)

{ return b; } { return a-b; }

4. 下列类定义中,不正确的是( )。

A) class x { .... }

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

C) static class x implements y1,y2 { .... }

D) public class x extends Applet { .... }

5、对于下列代码:

public class Parent {

public int addValue( int a, int b) {

int s;

s = a+b;

return s;

}

}

class Child extends Parent {

}

下述哪些方法可以加入类Child? ( )

A) int addValue( int a, int b ){// do something...}

B) public void addValue (int a, int b ){// do something...}

C) public int addValue( int a ){// do something...}

D) public int addValue( int a, int b ) {//do something...}

6、阅读下面的程序,程序保存为Test.java:

1) public class Test

2) {

3) short mValue;

4) public static void main(String[] args)

5) {

6) int a = 32;

7) int b = 56;

8) Test os = new Test(a+b);

9) os.Show( );

10) }

11) protected Test(short aValue) { mValue = aValue; }

12) public void Show( ) { System.out.println(mValue); }

13) }

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

7、在编写实现文件读写功能的Java程序时,需要在程序的开头写上语句( C )。

A.import java.applet.* ; B.import java.awt.* ;

C.import java.io.* ; D.import java.awt.event.* ;

8、以下关于构造函数的描述错误的是( A )。

A、构造函数的返回类型只能是void型。

B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

9、关于修饰符static以下叙述错误的是( B )。

A.static方法不可被覆盖

B.static可以用来修饰类

C.static方法不可以直接访问非静态的方法,否则编译出错

D.static方法只能访问类变量或方法参数,不可直接访问成员变量

10.设有下面两个类的定义:

class Person { class Student extends Person {

long id; // 身份证号 int score; // 入学总分

String name; // 姓名 int getScore(){

} return score;

}

}

则类Person和类Student的关系是( B )。

A、包含关系

B、继承关系

C、关联关系

D、上述类定义有语法错误

11、给出如下代码:

class Test{

//定义成员a

public static void fun() {

// some code...

}

}

要在函数fun()中直接访问a,以下成员变量a定义正确的是( B )。

A.public int a; B.static int a; C.int a; D. protected int a;

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

class ATestOftoString{

protected String toString(){

return super.toString();}

}

A、编译通过运行无异常

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

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

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

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

1.

2.public class A{

3.//do sth

4. }

A、public class MainClass{ }

B、package mine;

14、关于以下application的说明,正确的是( C )。

1.class StaticStuff

2. {

3.static int x;

4.static { x+=5;}

5.public static void main(String args[ ])

6.{

7.System.out.println(“x=” + x);

8.}

9.static { x/=5;}

10.}

A、4行与9行不能通过编译,因为缺少方法名和返回类型

B、9行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=1

D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化

C、class ANotherClass{ }

D、import java.util.*;

15、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。

A、隐藏

B、覆盖

C、重载

D、Java不支持此特性

16、A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:

1. A a0=new A();

2. A a1 =new B();

3. A a2=new C();

问以下哪个说法是正确的?( D )

A、只有第1行能通过编译

B、第1、2行能通过编译,但第3行编译出错

C、第1、2、3行能通过编译,但第2、3行运行时出错

D、第1行、第2行和第3行的声明都是正确的

17、假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )

class A

{ int i;

static String s;

void method1() { }

static void method2() { }

}

A、System.out.println(a.i);

B、a.method1();

C、A.method1();

D、A.method2()

18、已有Bird类的定义如下:

package abcde;

public class Bird {

protected static int referenceCount=0;

public Bird(){referenceCount++;}

protected void fly(){ }

static int getReCount(){return referenceCount;}

}

有类Nightingale的定义如下,请写出它的输出结果 Before:0 After:2 。

package singers;

class Nightingale extends abcde.Bird {

Nightingale( ) { referenceCount++;}

public static void main( String args[ ]){

System.out.print(“Before:”+referenceCount);

Nightingale florence=new Nightingale( );

System.out.pri ntln(“ After:”+referenceCount);

florence.fly( );

}

}

19. 对象的主要属性是___________和____________。

20.编写一个完整的Java Application 程序,包括:①复数类Complex ②主类Test,将每组测试数据相加并显示结果,三组测试的复数为:1+2i和1-2i、1+2i 和3+4i 、1+2i和-1+2i 。

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

(1) 复数类Complex 的属性

realPart : int型,代表复数的实部。

imaginPart : int型,代表复数的虚部。

(2) 复数类Complex 的方法

Complex( ) : 构造函数,将复数的实部和虚部都置0。

Complex( int r , int i ) : 构造函数,将复数的实部初始化为r,将虚部初始化为i。

Complex complexAdd(Complex a) : 将当前复数对象与形参复数对象a相加,所得的结果仍是一个复数对象,返回给此方法的调用者。

public String toString( ) : 把当前复数对象的实部a、虚部b组合成“a+bi” 的字符串形式;若实部为0,虚部不为0,则返回”bi”;若虚部为0,则返回”a”。

(注:程序框架和部分源码已给出,请补充完整)

import java.io.*;

public class Test

{

public static void main(String args[])

{ Complex a,b;

a=new Complex(1,2);

b=new Complex(1,-2);

System.out.println((a.addComplex(b)).toString());

b=new Complex(3,4);

System.out.println((a.addComplex(b)).toString());

b=new Complex(-1,2);

System.out.println((a.addComplex(b)).toString());

}

}

class Complex

{

//添加属性定义

int realPart;

int imaginPart;

//添加构造方法Complex()

public Complex(){

realPart=0;

imaginPart=0;

}

//添加构造方法Complex(int r, int i)

public Complex(int r,int i){

realPart=r;

imaginPart=i;

}

//添加复数相加方法 addComplex

public Complex addComplex(Complex a)

{

Complex b=new Complex();

b.realPart=a.realPart+this.realPart;

b.imaginPart=a.imaginPart+this.imaginPart;

return b;

}

//添加toString方法

public String toString()

{ String slt="";

if(this.realPart!=0)

{

if(this.imaginPart>0)

slt=String.valueOf(this.realPart)+"+";

else

slt=String.valueOf(this.realPart);

}

if(this.imaginPart!=0)

slt=slt+String.valueOf(this.imaginPart)+"i" ;

return slt;

}

}

21、阅读下面的程序:

1) abstract class Base{

2) abstract public void myfunc();

3) public void another(){

4) System.out.println("Another method");

5) }

6) }

7) public class Abs extends Base{

8) public static void main(String argv[]){

9) Base b = new Abs();

10) b.another();

11) }

12) public void myfunc(){

13) System.out.println("My Func");

14) }

15) public void another(){

16) myfunc();

17) }

18) }

以上程序经编译后,运行结果是什么?

22.什么是对象?什么是类?对象与类的关系是什么?

23.类的定义中包括那些基本信息?

24.定义一个类包括定义类头和定义_______两个部分。

25.类变量与实例变量的区别?

26.类方法与实例方法的区别?

27. 什么叫构造函数重载?

28.什么是方法,以及方法的作用?

29.Java中引入包的优点是什么?

30.如何将需要的外部类引入程序中?如何引用包中的某个类?如何引用整个包?

31.如何运行被打包后的字节码文件?

32、创建一个名为Rectangle的类来表示一个使用宽度和高度来改变量的矩形,矩形的宽度和高度由构造方法来确定。为Rectangle 类创建下列方法:

? getArea返回矩形的面积,要求长和高的范围为0~50;

? getPerimeter返回矩形的周长;

? Draw使用星号(*)作为描绘字符画出该矩形(假设宽度和高度为整数);

在另一个类TestRectangle中编写main方法来测试Rectangle类。

33、编写一个程序,统计给定文件中每个字母出现的频率。

34、编写一个程序,统计给定文件中包含的单词数目,并按单词表的顺序显示统计结果。

第四章继承和多态

1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( )

A、ArrayList myList=new Object();

B、ArrayList myList=new ArrayList();

C、ArrayList myList=new List();

D、List myList=new List();

2.在某个类A中存在一个方法:void GetSort(int x),以下能作为这个方法的重载的声明的是( )。

A)Void GetSort(float x) B)int GetSort(int y)

C)double GetSort(int x,int y) D)void Get(int x,int y)

3.为了区分重载多态中同名的不同方法,要求( )。

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

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

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

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

5、下列说法哪个是正确的? ( )

A)子类不能定义和父类同名同参数的方法

B)子类只能继承父类的方法,而不能重载

C)重载就是一个类中有多个同名但有不同形参和方法体的方法

D)子类只能覆盖父类的方法,而不能重载

6、关于类的继承以下说法错误的是()。

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

B.在java中一个类可实现多个接口

C.在java中一个类可以同时继承一个类和实现一个接口

D.java允许多重继承

7. Java语言的类间的继承关系是( )。

A) 多重的 B) 单重的 C) 线程的 D) 不能继承

8. 为了区分重载多态中同名的不同方法,要求( )。

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

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

9、阅读下面的程序(或程序片段),回答问题。

现有类说明如下:

class A

{

int x=10;

int GetA(){return x;}

}

class B extends A

{

int x=100;

int GetB(return x;}

}

问题:

1)类A与类B是什么关系?

2)类B是否能继承类A的属性x?

3)若b是类B的对象,则b.GetA()的返回值是什么?

4)若b是类B的对象,则b.GetB()的返回值是什么?

5)类A和类B都定义了x属性,这种现象称为什么?

10、阅读下面的程序:

public class test

{

public static void main(String argv[])

{

Bird b = new Bird();

b.Fly(3);

}

}

class Bird

{

static int Type = 2;

private void Fly(int an_Type)

{

Type = an_Type;

System.out.println("Flying..."+Type);

}

}

上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

11、阅读下面的程序:

abstract class Base{

abstract public void myfunc();

public void another(){

System.out.println("Another method");

}

}

public class Abs extends Base{

public static void main(String argv[]){

Base b = new Abs();

b.another();

}

public void myfunc(){

System.out.println("My Func");

}

public void another(){

myfunc();

}

}

以上程序经编译后,运行结果是什么?

12、写出以下程序的运行结果。

public class Test_2

{

public static void main(String[ ] args)

{ System.out.println( fun(3, 4, 5) ); }

static int fun(int x, int y, int z)

{ return fun( x, fun(y,z) ); }

static int fun(int x,int y)

{ return x*y; }

}

13.阅读以下程序,写出输出结果。

class First{

public First(){

aMethod(); }

public void aMethod(){

System.out.println(“in First class”);} }

public class Second extends First{

public Second(){

aMethod(); }

public void aMethod(){

System.out.println(“in Second class”);} public static void main(String[ ] args){

new Second( ); }

}

14

import java.io.*;

public class Test //主类定义已给出

{

public static void main(String args[])

{

Cylinder c=new Cylinder(2, 5);

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

}

}

class Circle //类Circle定义,请填写完整

{

final float PI=3.14159f;

//添加属性radius

double radius;

//添加构造函数Circle (double r)

public Circle (double r)

{

radius=r;

}

//添加getRadius()方法

public double getRadius()

{

return radius;

}

//添加findArea()方法

public double findArea()

{

return PI*getRadius()*getRadius();

}

}

class Cylinder extends Circle //类Cylinder定义,请填写完整{

//添加属性length

double heigth;

//添加构造函数Cylinder(double r, double l)

public Cylinder(double r, double h )

{

super(r);

heigth=h;

}

//添加findVolume()方法

public double findvolume()

{

double volume;

volume=this.findArea()*heigth;

return volume;

}

//添加toString()方法,返回圆柱体的半径、高、体积等信息public String toString()

{

String slt="";

slt="The cylinder information:radius="+

String.valueOf(this.radius)+",heigth="+

String.valueOf(this.heigth)+",volume="+

String.valueOf(this.findvolume());

return slt;

}

}

15、阅读下面的程序:

class Super{

public int i=0;

public Super(){

i=1;

}

}

public class Sub extends Super{

public Sub(){

i=2;

}

public static void main(String args[]){

Sub s=new Sub();

System.out.println(s.i);

}

}

上面的程序经编译后,运行结果是什么?

16、阅读下面的程序:

class ValHold

{

public int i = 10;

}

public class ObParm

{

public static void main(String argv[])

{

ObParm o = new ObParm();

o.amethod();

}

public void amethod()

{

int i = 99;

ValHold v = new ValHold();

v.i = 30;

another(v,i);

System.out.print(v.i);

}

public void another(ValHold v, int i)

{

i = 0;

v.i = 20;

ValHold vh = new ValHold();

v = vh;

System.out.print(v.i);

System.out.print(i);

}

}

上面程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

17、阅读下面的程序,写出带划线语句的注释,并写出运行结果。

import java.awt.*;

import javax.swing.*;

public class Test {// 继承JFrame private int screenOffset = 80;

public Test()

{

super( "Concentric" ); //

; // 设置JFrame的大小为300*300

show(); //

}

public void paint( Graphics g )

{

for ( int i = 1; i <= 8; i++ ) {

int origin = screenOffset + 80 - i * 10;

g.drawOval(origin, origin, i * 20, i * 20);

}

}

public static void main( String args[] )

{

Test application = new Test();

application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );

}

}

18、请写出下面程序的运行结果。

public class Test extends TT{

public void main(String args[]){

Test t = new Test("Tom");

}

public Test(String s){

super(s);

System.out.println("How do you do?");

}

public Test(){

this("I am Tom");

}

}

class TT{

public TT(){

System.out.println("What a pleasure!");

}

public TT(String s){

this();

System.out.println("I am "+s);

}

}

结果:

19、给定下面的未完成的代码片断:

public class Example{

int x,y;

public Example(int a){

……..

x = a;

}

public Example(int a, int b){

//和上面一个参数的构造方法做同样的操作,包括赋值

x=a y = b;

}

}

如果要用最简捷的一行代码实现"//和上面一个参数的…"注释所指出的功能,请写出你认为最合适的一行代码:20.构造方法在类中的作用是什么?

21.在创建派生类的对象的时候,基类与派生类中构造方法的调用顺序怎样?

22.什么是方法的重载?

23.是一种软件重用形式,在这种形式中,新类获得现有类的数据和方法,并可增加新的功能。24.派生类构造方法可以通过关键字_______调用基类构造方法。

25.编写一个完整的Java Application 程序。包含类Circle,类Cylinder, 类Test,具体要求如下:?类Circle

①属性

radius: double型,表示圆的半径。

②方法

Cirle( double r):构造函数,将半径初始化为r。

double findArea():返回圆的面积。

double getRadius ():返回圆的半径。

?类Cylinder

继承Circle类,并有以下属性和方法:

①属性

length: double型,表示圆柱体的高。

②方法

Cylinder(double r, double l ):构造函数,给圆柱体的半径和高赋初值。

double findVolume():返回圆柱体的体积。

toString():返回圆柱体的半径、高、体积等信息。

?主类Test

①生成Cylinder对象。

②调用对象的toString方法,输出对象的描述信息。

(注:程序框架和部分源码已给出,请补充完整)

第五章抽象类与接口

1、以下接口定义正确的是()。

A.interface ATest

{ void t() { } ;}

B.public interface ATest

{ void t();}

C.abstract interface ATest

{ void t() ;}

D.abstract interface ATest extends ATest 1, ATest 2

// ATest1,ATest 2为已定义的接口

{ abstract void t(){ };}

2.以下哪个接口的定义是正确的?()

A、interface B

{ void print() { } ;}

B、abstract interface B

{ void print() ;}

C、abstract interface B extends A1,A2 //A1、A2为已定义的接口

{ abstract void print(){ };}

D、interface B

{ void print();}

6. 编写一个完整的Java Application 程序。包含接口ShapeArea,MyRectangle类,MyTriangle类及Test类,具体要求如下:

?接口ShapeArea:

double getArea():求一个形状的面积

double getPerimeter ():求一个形状的周长

?类 MyRectangle:

实现ShapeArea接口,并有以下属性和方法:

①属性

width: double类型,表示矩形的长

height: double类型,表示矩形的高

②方法

MyRectangle(double w, double h):构造函数

toString()方法:输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0, area=2.0”

?类MyTriangle:

实现ShapeArea接口,并有以下属性和方法:

①属性

a,b,c: double型,表示三角形的三条边

s: 周长的1/2(注:求三角形面积公式为,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)

②方法

MyTriangle(double x, double y, double z):构造函数,给三条边和s赋初值。

toString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”

7、用面向对象的思想定义一个接口Area,其中包含一个计算面积的方法CalsulateArea(),然后设计MyCircle和MyRectangle 两个类都实现这个接口中的方法CalsulateArea(),分别计算圆和矩形的面积,最后写出测试以上类和方法的程序。

8.编写一个完整的Java Application 程序。包含接口ShapeArea,MyRectangle类,MyTriangle类及Test类,具体要求如下:

?接口ShapeArea:

double getArea():求一个形状的面积

double getPerimeter ():求一个形状的周长

?类 MyRectangle:

实现ShapeArea接口,并有以下属性和方法:

③属性

width: double类型,表示矩形的长

height: double类型,表示矩形的高

④方法

MyRectangle(double w, double h):构造函数

toString()方法:输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0, area=2.0”

?类MyTriangle:

实现ShapeArea接口,并有以下属性和方法:

③属性

x,y,z: double型,表示三角形的三条边

s: 周长的1/2(注:求三角形面积公式为,s=(x+y+z)/2 ,开方可用Math.sqrt(double)方法)

④方法

MyTriangle(double x, double y, double z):构造函数,给三条边和s赋初值。

toString():输出矩形的描述信息,如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”

?Test类作为主类要完成测试功能

①生成MyRectangle对象

②调用对象的toString方法,输出对象的描述信息

9.编写一个完整的Java Application 程序。包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下:?接口ShapeArea:

①接口方法

double getArea():求一个形状的面积

double getPerimeter ():求一个形状的周长

?类Circle:

实现ShapeArea接口,并有以下属性和方法:

⑤属性

radius: double类型,表示圆的半径

⑥方法

Circle(double r):构造函数

toString()方法:输出圆的描述信息,如“radius=1.0, perimeter=6.28, area=3.14”

?Test类作为主类要完成测试功能

②生成Circle对象

②调用对象的toString方法,输出对象的描述信息

3.什么是接口?为什么要定义接口?接口与类有何异同?

4.如何定义接口?使用什么关键字?

5.一个类如何实现接口?实现接口的类是否一定要重写该接口中的所有抽象方法?

第六章异常处理

1.有如下代码段:

1)

2) { if(unsafe()){//do something…}

3) else if(safe()){//do the other…}

4) }

其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?()

A、public IOException methodName()

B、public void methodName()

C、public void methodName() throw IOException

D、public void methodName() throws IOException

2.类Test1、Test2定义如下:

1.public class Test1

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

3. IOException { }

4. }

5. public class Test2 extends Test1{

6.

7.}

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

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

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

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

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

3、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( )

A)找到合适的例外类型后继续执行后面的catch

B)找到每个符合条件的catch都执行一次

C)找到合适的例外类型后就不再执行后面的catch

D)对每个catch都执行一次

4、程序员将可能发生异常的代码放在()块中,后面紧跟着一个或多个()块。

a) catch、try

b) try、catch

c) try、exception

d) exception、try

5、关于异常处理,以下说法错误的是()。

A.可以使用throw语句抛出异常

B.程序可以使用try、catch、finally语句捕获异常

C.无论try块中是否发生异常,finally标识的代码块都会被执行

D.try语句后只能有一个catch语句

6、有如下代码段:

1.

2.{ if(f1()){//do something…}

3. else if(f2()){//do the other…}

4. }

其中,方法f1() 将抛出IOException, 以下可以填入第1行的是( C )。

A.public IOException function ()

B.public void function() IOException

C.public void function() throws IOException

D.public void function() throw IOException

7、写出4个常见的异常例子:、、和。重新抛出一个异常用语句

8、数据越界抛出的异常类是,整数除零抛出的异常类是,算术溢出抛出的异常类是。

9、阅读下面的程序Test.java:

import java.io.*;

public class Test{

public static void main(String argv[]){

Test t = new Test();

System.out.println(t.fliton());

}

public int fliton(){

try{

FileInputStream din = new FileInputStream("test.txt");

din.read();

? }catch(IOException ioe){

? System.out.println("one");

? return -1;

? }

? finally{

? System.out.println("two");

? }

? return 0;

? }

? }

如果文件test.txt与Test.java在同一个目录下,test.txt中仅有一行字符串“hello world!”,上面的程序编译是否成功?如果编译出错,指出哪行出错,并说明理由;如果编译正确,运行结果是什么?

10、仔细阅读下面的程序,写出程序的执行顺序(写出编号):

public class UsingExceptions {

public static void main( String args[] )

{

try{

method1(); // 1

}catch(Exception e){

System.err.println(e.getMessage()); // 2

}

finally{

System.out.println("Program is end!"); // 3

}

}

public static void method1() throws Exception

{

method2(); //4

}

public static void method2() throws Exception

{

method3(); //5

}

public static void method3() throws Exception

{

throw new Exception( "Exception thrown in method3" ); //6

}

}

11、阅读下面的程序Test.java,先填写空格的内容,然后写出运行结果:

import java.io.*;

public class Test{

public static void main(String argv[]){

; //创建Test对象,对象名为t

System.out.println(t.fliton());

}

public int fliton(){

try{

//第9行的含义是:

FileInputStream din = new FileInputStream("test.txt");

din.read();

}catch(IOException ioe){ //第11行的含义是:

System.out.println("one");

return -1;

}

finally{

System.out.println("two");

}

return 0;

}

}

如果文件test.txt与Test.java在同一个目录下,test.txt中仅有一行字符串“hello world!”,运行结果是什么?

13.什么是异常?举出程序中常见的异常的种类?

14.Java中异常处理有什么优点?

15.在Java中,throw与throws有什么区别?他们各自用在什么地方?

16.请设计一个Java程序,程序中要进行数组操作和除法操作,要求对所设计的程序可能出现的异常进行处理。

17.定义一个邮件地址异常类,当用户输入的邮件地址不合法时,抛出异常。(其中邮件地址的合法格式为**** @****,也就是说必须是在@符号左右出现一个或多个其他字符的字符串。)

18.try-catch-finally语句的执行顺序是怎样的?

第七章数组,Java类库

1、下列数组的定义不合法的是: ( )

A) char c[][]=new char[2][3];

B) char c[][]=new char[6][];

C) char [][]c=new char[3][3];

D) char [][]c=new char[][4];

E) int []a[] = new int[10][10];

2.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。

A) 定义了一个名为a的一维数组 B) a数组有3个元素

C) a数组的下标为1~3 D)数组中的每个元素是整型

3. 下面是一个排序的程序:

import java.io.*;

public class Test56_Sort

{

public static void main(String args[ ])

{

Java程序设计__复习要点

Java程序设计__复习要点 第一讲Java语言概述 1、Java语言的特点:简单、完全面向对象;平台无关性;多线程;直接支持分布式的网络应用,高效的网络编程;可靠性;安全性。 2、运行机制:Java程序是半编译半解释的。Java源程序经编译器编译后产生字节码,Java解释器解释执行字节码。 3、Java程序的开发流程: (1)安装JDK,设置环境变量; (2)编写Java源程序:文件以.java作为后缀; (3)javac将源程序编译成字节码文件(.class文件); (3)由运行系统解释和执行字节码文件。 4、Java程序的分类:分两类 (1)Java application(Java应用程序):能独立运行的应用程序,有控制台和图形用户界面两种运行方式。main()方法是类首先执行的方法,语句必须写在类的方法中。编写完源代码首先通过javac编译,生成.class字节码文件,通过Java解释器(如java.exe)来运行字节码文件。 (2)Java applet(Java小应用程序):Applet是可以嵌入Web页面的最小应用,不能独立运行,必须嵌入到超文本(*.html)中,由浏览器中的Java解释器解释执行。对于Applet源程序,首先要编译生成字节码文件,再将字节码文件嵌入到超文本中。 简而言之: application:应用程序,编译:javac 源文件名;运行:java 字节码文件(含主函数) Applet:嵌入网页中运行的小应用程序,需有相应的html文件; 5、一个完整的Java源程序结构: package语句:该部分至多只有一句,必须放在源程序的第一句; import:该部分可以有若干import语句或者没有,必须放在所有的类定义之前;

JAVA程序设计习题库及答案

第一章JAVA语言概论 一、选择题 1。下列不属于java语言鲁棒性特点的是:A.java能检查程序在变异和运行时的错误 B。java 能运行虚拟机实现跨平台 C。java 自己操纵内存减少了内存出错的可能性D。java 还实现了真数组,避免了覆盖数据的可能2.java语言的执行模式是: A。全编译型 B.全解释型 C.半编译和半解释型 D.同脚本语言的解释模式 3.下列关于虚拟机说法错误的是: A。虚拟机可以用软件实现 B.虚拟机部可以用硬件实现 C.字节码是虚拟机的机器码 D.虚拟机把代码程序与各操作系统和硬件分开 4。java语言是1995年由()公司发布的 A.Sun B。Microsoft C.Borland D.Fox Software 5.下列不是虚拟机执行过程特点的是 A。双线程

B.多线程 C.动态链接 D.异常处理 6.java以JVM为基础,最下层是移植接口,由适配器和()组成A.网卡 B。Java os C。Java基本类 D。Java 应用程序和applet小程序 7。java程序的执行过程中用到一套JDK工具,其中javac.exe指A.java语言编译器 B.java字节码解释器 C.java文档生成器 D.java类分解器 8.java的API结构中,不属于类库主要包括的核心包的是 A.java包 B。javax C.javadoc包 D.org扩展包 9.每个java的编译单元可包含多个类或界面,但是每个编译单元最多只 能有()类或者界面是公共的 A.一个 B。两个 C。四个 D。任意多个

10.在当前的java实现中,每个编译单元就是一个以()为后缀的文件 A。java B.class C。doc D.exe 二、填空题 1. 1991年,SUN公司的Jame Gosling和Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个____软件,它是java的前身. 2. java是一个网络编程语言,简单易学,利用了____的技术基础,但又独立于硬件结构,具有可移植性、健壮性、安全性、高性能。 3. java可以跨平台的原因是____ 4. JVM的执行过程有三个特点:多线程,_____,异常处理; 5.JAVA程序的安全性体现在多个层次上,在_____,有语法检查;在解释层上,有字节码校验器、测试代码段格式和规则检查,访问权限和类型转换和法性检查,操作数堆栈的上溢或下溢,代码参数类型合法性等;在平台层上,通过配置策略,可设定访问资源域,而无需区分本地或远程。 6。 JAVA的产品主流操作系统平台是Solaris、_____和Macintosh. 7. JAVA系统运行时,通过______机制周期性的释放无用对象所使用的内存,完成对象的清除。 8。在JAVA语言中,将后缀名为______的源代码文件编译后形成后缀名为.c lass的字节码文件。 9。 JAVA语言的执行模式是半编译和______. 10. JAVA类库具有_____的特点,保证了软件的可移植性。 11。在编写执行JAVA程序的过程中需要用到一些工具,SUN公司为我们提供了一套JDK工具,它主要包括:javac.exe、java。exe、_____、ja vap.exe、jkb。exe 12.JAVA程序包括源代码(.java文件)、______、由归档工具jar生成的。jar文件、对象状态序列化.ser文件.

Java程序设计复习题

Java程序设计复习题 一、选择题 1.下面哪些是java语言中的关键字? A.sizeof B.abstract C.NULL D.Native 2.switch语句中表达式的值必须是 A.布尔型或字符型 B.整型或字符型 C.整型或布尔型 D.浮点型或整型3.以下程序测试String 类的各种构造方法,试选出其运行效果。 class STR{ public static void main(String args[]){ String s1=new String(); String s2=new String("String 2"); char chars[]={'a',' ','s','t','r','i','n','g'}; String s3=new String(chars); String s4=new String(chars,2,6); byte bytes[]={0,1,2,3,4,5,6,7,8,9}; StringBuffer sb=new StringBuffer(s3); String s5=new String(sb); System.out.println("The String No.1 is "+s1); System.out.println("The String No.2 is "+s2); System.out.println("The String No.3 is "+s3); System.out.println("The String No.4 is "+s4); System.out.println("The String No.5 is "+s5); } } A.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is string The String No.5 is a string B.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is tring The String No.5 is a string C.The String No.1 is The String No.2 is String 2 The String No.3 is a string The String No.4 is strin The String No.5 is a string D.以上都不对 4.按访问权限从高到低的排列顺序是 A.友好的,public,protected, private. B.public,protected,private,友好的. C.public,友好的,protected,private. D.public,protected,友好的,private

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

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)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

java程序设计试题库

《Java语言程序设计基础教程》 练习思考题参考答案 第1章Java程序设计概述 1、1单项选择题 1.编译Java Application源文件将产生相应得字节码文件,扩展名就是什么 A、、java ???? B、、class ?C、、html??? D、、exe 解答:B 2.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中“一次编 译,随处运行”得特点. ?A、简单性????B、平台无关性 C、面向对象性???? D、安全性 解答:B 3.Java语言具有许多优点与特点,下列选项中,哪个反映了Java中并行机制得 特点。 ?A、多线程???B、平台无关性 C、面向对象性??? D、安全性 解答:A 4。在Java语言中,下列哪些语句关于内存回收得说明就是正确得? ?A.程序员必须创建一个线程来释放内存; B.内存回收程序负责释放无用内存; C.内存回收程序允许程序员直接释放内存; D.内存回收程序可以在指定得时间释放内存对象 解答:B 5.一个Java源文件中最多只能有多少个public类。 ?A、1个?B、2个

C、3个? D、任意多个 解答:A 6。下面哪一个不就是Java语言所具有得特点。 A、没有全局变量,在类得定义外部没有任何得变量定义; ?B、不直接支持指针操作,而使用更安全得引用类型; C、支持子类对父类得多继承; D、具有自动垃圾收集功能; 解答:C 7。下面哪一个不就是Java开发工具包JDK得组成部分. ?A、Java得编译器; B、Java得解释器;? ?C、Java得API继承类库; ?D、Eclipse开发工具; 解答:C 8。JDK提供得编译器就是()。 ?A、java、exe???B、javac、exe C、javap、exe??? D、javaw、exe 解答:B 9。作为Java应用程序入口得main方法,其声明格式可以就是() A、public voidmain(String[]args) B、public static void main(String []args) C、public static void Main(String* args) D、public int main(String []args) 解答:B 10.下列说法正确得就是( A ) A、JAVA程序得main方法必须写在类里面 B、JAVA程序中可以有多个main方法 C、JAVA程序中类名必须与文件名一样 D、JAVA程序得main方法中如果只有一条语句,可以不用{}(大括号)括起来 11。下列哪些语句关于Java内存回收得说明就是正确得? ( B) A、程序员必须创建一个线程来释放内存

Java程序设计复习题 (1)

一、单选题:在下列各题的备选答案中选择一个正确的。(每题2分,共20分) 1、下列方法中不是键盘事件KeyEvent实现方法的是() A .keyPressed(KeyEvent e) B .keyReleased(KeyEvent e) C .mouseClicked(MouseEevent e) D .keyTyped(KeyEvent e) 2、下列关于接口的描述,正确的是( C ) A 抽象类可以使用extends关键字来继承接口 B 接口可以被实例化 C 接口可以继承多个父接口 D 接口具有继承性,但不能继承父接口的所有属性和方法 3、下面的方法,当输入为2的时候返回值是多少?( C ) public int getValue(int i) { int result = 0; switch (i) { case 1: result = result + i; case 2: result = result + i * 2; case 3: result = result + i * 3; } return result; } A)0 B)2 C)4 D)10 4、下列叙述中,正确的是( A ) A)声明变量时必须制定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是“//” D)源文件中public类可以有0个或者多个 5、如下Java代码段,体现了( B )概念。 public void aMethod(String s){....} Java程序设计2 第1页共6页

public void aMethod(int i){.........} public void aMethod(int I,float f){.....} ..... A)多继承 B)重载 C)重写 D)多态 6、下列标识符(名字)命名原则中,正确的是( D ) A)类名的首字母小写 B)变量和方法名的首写字母大写 C)接口名的首写字母小写 D)常量完全大写 7、Java的核心包中,提供编程应用的基本类的包是( A ) A)https://www.doczj.com/doc/7e19161994.html,ng B) Java.util C) Java.applet D) Java.rmi 8、Panel默认的布局管理器是( A ) A) FlowLayout B) GridLayout C) BorderLayout D) FlowLouLayout 9、File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( B ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A)创建C:\test.dat B) 删除C:\test.dat C) 打开C:\test.dat文件输出流 D) 移动C:\test.dat 10.下列常见的系统定义的异常中,哪个是输入、输出异常? ( B ) A)ClassNotFoundException B)IOException C)FileNotFoundException D)UnknownHostException 11、下列属于合法的Java标志符是( D ) A “ABC” B &5678 C +newer D saler 12、下列数组的初始化正确的是()b Java程序设计2 第2页共6页

Java程序设计习题附答案(一)

Java程序设计题库 第一部分绪论 1、下列关于Java语言的特点,描述错误的是(C) A.Java是跨平台的编程语言B.Java支持分布式计算 C.Java是面向过程的编程语言D.Java支持多线程 2、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?(B) A、安全性 B、多线性 C、跨平台 D、可移植 3、Java JDK中调试器的命令是(C)。 A、javac B、java C、jdb D、avah 4、运行jar文件中class文件需要在java命令后面加的参数为(A)。 A、-cp B-g C-d D-verbose 5、下面哪项在java中是不合法的标识符?(C) A、$user B、point C、You&me D、_endline 6、下面关于Java语言说法正确的是(ABCD)。 A、Java语言是面向对象的、解释执行的网络编程语言。 B、Java语言具有可移植性,是与平台无关的编程语言。 C、Java语言可对内存垃圾自动收集。 D、Java语言编写的程序虽然是“一次编译,到处运行”,但必须要有Java的运行环境。 7、在Java程序设计中,程序员创建()文件,然后编译器把它们转化为()文件。( B) A、源, HTML B、源, 字节代码 C、字节代码, 源 D、HTML, 字节代码 8、Java的JVM是指(B)。 A、由Java操作的家用设备(通常是一个漂亮的小烤箱) B、Java字节代码的解释程序 C、Java源代码的编译器 D、运行Java 所需的硬件设备 9、在Java中,关于CLASSPA TH环境变量的说法不正确的是(A)。 A、CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B、编译器用它来搜索各自的类文件。 C、CLASSPATH是一个目录列表。 D、解释器用它来搜索各自的类文件。 10、一个可以独立运行的Java应用程序(D)。

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

1234124JAVA语言程序设计考试试题及部分答案 一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。 1.下列语句序列执行后,k 的值是( B ) 。 int m=3, n=6, k=0; while( (m++) < ( -- n) ) ++k; A)0 B) 1 C) 2 D) 3 2.设i 、j 为int 型变量名, a 为int 型数组名,以下选项中,正确的赋值语句是( B ) 。 A)i = i + 2 B) a[0] = 7; C) i++ - --j; D) a(0) = 66; 3.Java语言的类间的继承关系是(B )。 A)多重的B) 单重的C) 线程的D) 不能继承 4.设有定义int i = 6 ; ,则执行以下语句后,i 的值为( C ) 。 i += i - 1; A) 10 B) 121 C) 11 D) 100 5.下列选项中,用于在定义子类时声明父类名的关键字是( C ) 。 A) interface B) package C) extends D) class 6.若已定义byte[ ] x= {11,22,33,-66} ; 其中O W k<3,则对x数组元素错误的引用是(C )。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7.下列语句序列执行后, ch1 的值是( B ) 。 char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1; A) 'A' B) 'B' C) 'C' D) B

Java程序设计复习题4

Java程序设计复习题4 1、Java源程序经编译生成的字节码文件的扩展名为(A ),字节码文件由解释器执行。 A)class B)java C)exe D)html 2、下列的变量定义中,错误的是( D)。 A)int i; B)int i=Integer.MAX_V ALUE; C)static int i=100; D)int 123_$; 3、下列不属于WindowListener接口的是( C ) A)windowOpened() B)windowClosed() C)windowActivated() D)mouseDragged() 4、以下字符常量中不合法的是(B )。 A)'|' B)'\'' C)"\n" D)'我' 5、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A)b = a!=7 ; B)a = 7 + b + c=9; C)i=12.3* % 4; D)a = a + 7 = c + b; 6、下列类头定义中,错误的是( B)。 A)class x {.. } B)public x extends y{ .... } C)public class x extends y{ .... } D)class x extends y implements y1{ .... } 7、下列选项中,用于在定义类头时声明父类名的关键字是(C )。 A)return B)interface C)extends D)class 8、设i,j 为类x 中定义的double 型变量名,下列x 类的构造函数中不正确的是( )。 A)double x(double k ){ i=k; return i; }

非常经典的JAVA编程题全集(50题及答案)

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count); } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public class lianxi03 { public static void main(String[] args) { int b1, b2, b3; for(int m=101; m<1000; m++) {

Java程序设计复习题(1)

JAVA程序设计复习题 一、单项选择题(在每小题列出的各选项中只有一个是符合题目要求的,请将其代码填在括号内) 1、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( B ) A、ArrayList myList=new Object(); B、ArrayList 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'; } } A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 5、运行下列程序, 会产生什么结果( A ) public class X extends Thread implements Runable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]){ Thread t=new Thread(new X()); t.start(); } } A、第一行会产生编译错误 B、第六行会产生编译错误 C、第六行会产生运行错误 D、程序会运行和启动 6、容器被重新设臵大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?( C )

Java程序设计期末考试题

Java程序设计期末考试题 一、选择题 下列说法中,不正确的是( A ) A) 一个java源程序编译通过后,得到的结果文件数也只有一个。 B) 一个java源程序经过编译后,得到的文件的扩展名一定是.class。 C) 一个java源程序只能有一个public class类定义,且源文件的名字与public class的类名相同,扩展名必须是.java。 D) 一个java源程序可以包含多个class类。 请问,以下哪些描述是正确的? 请选择所有正确答案: (1)如果package语句存在,则必须出现在源文件的非空白首行。(2)如果import语句存在,则必须出现在源文件的非空白首行。(3)如果main()方法存在,则必须出现在源文件的非空白首行。(4)如果在源文件中声明了一个public接口,则其名称必须和源文件名一致。 请问,以下哪些是Java中的合法标识符? 请选择所有正确答案: (1)my-id (2)my_id

(3)101ids (4)id101 请问,以下哪些是合法的标识符? 请选择所有正确答案: (1)%abcd (2)$abcd (3)1abcd (4)package (5)_a_long_name 以下哪个不是Java的关键字?() A、FALSE B、const C、this D、void 以下哪个不是Java的关键字?() A、TRUE B、goto C、this D、void Java的字符类型采用的是Unicode编码方案,每个Unicode码占用()个比特位。 A、8 B、16

C、32 D、64 请问一下哪些修饰符用于声明一个常量?请选择一个正确答案:static final abstract public 给出以下代码,该程序的运行结果是什么? public class Example{ final int x=0; Example(){ x=1; } final int aMethod(){ return x; } } 请选择所有正确答案: 代码编译错误,因为非final类中存在final方法。 代码编译成功。

java程序设计习题集

Java程序设计习题集 第一章Java基础知识 §1.1Java概述 1.完成在Windows 2000操作系统下环境变量的配置 2.创建一个Java程序,输出自己的基本信息:名字和年龄。 3.概述Java语言的版本发展过程。 4.简述Java语言的运行机制。 5.在自己的机器上用JDK开发运行环境完成第一个Java程序的编辑、编译、运行过程。 6.简述Java语言的特点,Java虚拟机的概念及作用。 §1.2 Java基本语法 1.什么是变量?什么是常量? 2.什么叫表达式,Java语言中共有几种表达式? 3.下面哪些表达式不合法?为什么? HelloWorld 2Thankyou _First -Month 893Hello non-problem HotJava implements $_MyFirst 4. 以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 5. 以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 6. 若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 7. 若有定义int a = 2;则执行完语句a += a -= a * a; 后,a的值是( )。 A) 0 B) 4 C) 8 D) -4 8. 在Java语言中,逻辑常量只有true 和 ___________ 两个值。 9. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float 和 __________两种具体类型。 10. Java语言是( )。 A.面向问题的解释型高级编程语言 B.面向机器的低级编程语言 C.面向过程的编译型高级编程语言 D.面向对象的解释型高级编程语言 11. 下列的变量定义中,错误的是( )。 A) int i; B) int i=Integer.MAX_VALUE; C) static int i=100; D) int 123_$; 12. 以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =Double. MAX_VALUE; D) int _abc_ = 3721L; 13. 以下字符常量中不合法的是( )。 A) '|' B) '\'' C) "\n" D) '我' 14. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b;

Java程序设计试卷及答案

Java程序语言试卷(A) 答题卡: 一题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________ 6.___________________________________________________________ 四题: 1.___________________________________________________________ 2.___________________________________________________________ 3.___________________________________________________________ 4.___________________________________________________________ 5.___________________________________________________________五题:

《JAVA程序设计》习题

《J A V A程序设计》练习题 写出下面程序的运行结果 1、 import java.io.*; public class abc { public static void main(String args [ ]) { AB s = new AB("Hello!","I love JAVA."); System.out.println(s.toString( )); } } class AB { String s1; String s2; public AB(String str1, String str2) { s1 = str1; s2 = str2; } public String toString( ) { return s1+s2; } } 运行结果: Hello!I love JAVA 2、 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 //****3、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

《Java程序设计》期末复习

随堂测验、考勤卷 期末考试题型 一、填空题 1、Java源程序文件的扩展名是___java_______,编译源程序的命令是___javac________。 2、Java程序可分为___applet______________和__application____________两种类型。 3、声明静态成员的关键字是_____static__________,定义一个接口的关键字是_____interface_________。 4、创建 pack1.pack2包的语句是____package pack1.pack2_____________,import x.y.Myclass;语句的功能是_____通过import语句来导入到x,y.Myclass这个类下_____________。 5、___Object______类是所有Java 类的直接或者间接父类。 6、转义字符___\t__能够实现“将输出内容跳到下一个制表位”的功能。 7、假设在程序中已执行:Calendar current=new GregorianCalendar();语句,则current.get(Calendar.YEAR)返回的是________当前时间的年份____________________。 二、单项选择题 1、以下哪个是应用程序main()方法的正确形式?【 B 】 A. public static int main(String args[]) B. public static void main(String args[]) C. public static void MAIN(String args[]) D. public static void main(char args[]) 2、请在Java预定义了的数据类型中,为“姓名”选择一种合适的数据类型:【 B 】 A.int B.String C.boolean D. float 3、short型数据的取值范围为【 C 】 A. -27 ~ 27-1 B. -216 ~ 216-1 C. -215 ~ 215-1 D. -231 ~ 231-1 4、下列标识符中,哪一个是合法的?【 A 】 A. $person B. 2ab C. *point D. this 5、已知 x=10,则条件表达式 (x>=5) && (x <=2) 的值是【 D 】 A. 0 B. 1 C. true D. false 6、下列程序片段的输出结果是【 A 】 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; }

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

Java程序设计复习题

Java程序设计复习题 一、单项选择题 1、一个Java程序运行从上到下的环境次序是( C ) A.操作系统、Java程序、JRE/JVM、硬件 B.JRE/JVM、Java程序、硬件、操作系统 C.Java程序、JRE/JVM、操作系统、硬件 D.Java程序、操作系统、JRE/JVM、硬件 2、下面哪些是合法的标识符。( A ) A、persons B、12345 C、 *point D、this 3、下说法正确的是:( C ) A.一个可直接运行的Java源文件中可以有多个public类,其中必须有一个和文件同名 B.一个可直接运行的Java源文件中可以没有public类 C一个可直接运行的Java源文件中只能有一个且和文件同名的public类。 D. 一个可直接运行的Java源文件中可以有多个public类,且可以没有和文件同名的类。 4、在java中定义常量的正确语法为:( C ) A . int value=20; B. const int VALUE=20; C. final int VALUE=20; D. int VALUE=20; 5、编译一个定义了3个类和10个办法的Java源文件后,会产生多少个字符码文件,扩展名是什么( D ) A、13个字节码文件,扩展名是.class B、1个字节码文件,扩展名是.class C、3个字节码文件,扩展名是.java D、3个字节码文件,扩展名是.class 6、下列属于Java语言的特点的一项是( D )。 A、运算符重载 B、类间多重继承 C、指针操作 D、垃圾回收 7、在创建Applet应用程序时,需要用户考虑的问题是( B )。 A、窗口如何创建 B、绘制的图形在窗口中的位置 C、程序的框架 D、事件处理 8、于Java语言的内存回收机制,下列选项中最正确的一项是( C )。 A、Java程序要求用户必须手工创建一个线程来释放内存 B、Java程序允许用户使用指针来释放内存 C、内存回收线程负责释放无用内存 D、内存回收线程不能释放内存对象 9、有如下的程序代码,在执行完后x和y的值是多少( D ) int x= 8, y=2, z; x=++x*y; z=x/y++; A)x=16, y=2 B)x=16, y=4 C)x=18, y=2 D)x=18, y=3

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