JAVA练习题80819讲课讲稿

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

J A V A练习题80819
Java语言程序设计模拟试题一
说明:本试卷共五大题,试卷满分100分,考试时间120分钟。

一、选择题:共20小题,每小题1分,满分20分。

1. 下面选项中不能使用final修饰符修饰的是()。

(A)类(B)属性(C)方法(D)接口
2. 下列的变量定义中,错误的是()。

(A) int 5b;(B) double d;
(C) float i=100.0f; (D) int i=100;
3. 使用下面选项的语句中能够引入abc包中所有类的是()。

(A) import abc.*; (B) package abc.*;
(C) abc import; (D) abc package;
4. 下列整型的最终属性 i 的定义中,正确的是()。

(A)static final int i=100;(B) final i;
(C)static int i; (D) final int i=1.2f;
5. 能作为类及其成员的修饰符是()。

(A)public (B)extends (C)float (D)static
6. 已定义a为int类型的变量。

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

(A)a*5=2; (B)a+=a*5; (C)a=5.5; (D)int a=5;
7. 若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是()。

(A)b=a+7; (B)b=7+a =9; (C)i=12.3* %4; D)a=a+7=c+b;
8. 下列语句序列执行后,b 的值是()。

int a=2, b=4;
if( a < - - b ) a*=a;
(A)5 (B)3 (C)15 (D)10
9. 下列语句序列执行后,myScore 的值是()。

int myScore=0;
char myGrade=’A’;
switch( myGrade)
{
case ‘A’: myScore = 5;
case ‘B’: myScore = 4;
case ‘C’: myScore = 3;
default: myScore = 0;
}
(A) 5 (B) 4 (C) 3 (D)0
10. 以下由 for 语句构成的循环执行的次数是()。

for ( int i = 0; true ; i++) ;
(A)有语法错,不能执行(B)无限次
(C)执行1次(D)一次也不执行
11. 在某个类中存在一个方法:void sum(int x , int y),以下不能作为这个方法的重载的声明的是()。

(A)float sum(float x, float y) (B)int sum (int y)
(C)double sum (int x,int y) (D)void sum (double y)
12. 下面关于数组定义语句不正确的是( )。

(A)int[ ] a1,a2; (B)int a0[ ]={1,2,3,4,5};
(C)int [] a=new int[8]; (D)int a[ ]=new {1,2.3,4,5};
13. 设 A 、B 均为已定义的类名,下列声明类A的对象a1的语句中正确的是()。

(A)public A a1= new B( ); (B) A a1= new A ( );
(C) B a1=new B( ); (D) int A a1;
14. 有一个类A,以下为其构造函数的声明,其中正确的是()。

(A)public A(int x){...} (B)static A(int x){...}
(C)public a(int x){...} (D)void A(int x){...}
15.Java语言中类间的继承关系是()。

(A)多重的(B)单重的(C)线程的(D)不能继承
16. 现有两个类A、B,以下描述中表示B继承自A的是()。

(A) class A extends B (B) class B implements A
(C) class A implements B (D))class B extends A
17.能够监听WindowEvent事件的监听者类需要实现的监听接口是()
(A)ActionListener (B)KeyListener
(C)MouseListenser (D)WindowListener
18.注册Action事件监听(倾听)者的注册方法是()
(A)addActionListener()(B)addKeyListener()
(C)addMouseListenser() (D)addWindowListener()
19.下面各选项中不是容器的是()
(A)JButton(B)JDialog
(C)JFrame (D)JWindow
20.下面各选项中属于面向字节输入流类的是()
(A)FileInputStream (B)FileReader
(C)FileOutputStream (D)FileWriter
二、填空题:共10题,每题2分,满分20分。

1.一个三位的正整数n=789,n%100/10的值是 8 。

2.声明接口的关键字是 interface ,一个接口通过 extends 关键字
继承另外一个接口。

3.标准流对象有 System.in、System.out 、System.err。

4. File 类实现文件与目录管理,该类定义在 java.io 包中。

5.使用abstract修饰的方法叫作抽象方法,这种方法只有方法头,没有方法体
6.用 static 修饰符修饰的属性叫作静态属性,用 static 修饰符修饰
的方法叫作静态方法。

7.定义一个整型数组array,它有5个元素分别是5、4、3、2、1。

用一个语句实现对数
组array的声明、创建和赋值:__________________;。

8.一个JAVA应用程序(application)的主类中一定包含方法,一个Applet
小程序的主类一定是类的子类。

9.图形用户界面GUI主要由和组成。

10.JDialog对话框分成模态对话框和非模态对话框两种。

三、程序阅读题:共5小题,每小题4分,满分20分。

1. 写出程序的执行结果。

public class Class1
{
public static void main( String args[] )
{
char c='a';
for (int i=0;i<26;i++)
{ System.out.print((char)(c+i)); }
}
}
2. 阅读下面的程序段,回答以下问题.
if ( x < 5 )
System.out.print(" x<5 ");
else
{
if ( y < 5 )
System.out.print(" x>=5 and y<5 ");
else
System.out.println(" x>=5 and y>=5");
}
问题:
(1)若执行前 x=6, y=8 该程序段输出是什么?x>=5 and y>=5 (2)若执行前 x=1, y=3 该程序段输出是什么?x<5
3. 现有一个类定义如下:
class Person
{
String name;
int age;
int earnings=3000;
Person (String a1, int a2, int a3)
{
name=a1;
age=a2;
earnings=a3;
}
Person ()
{ }
}
在使用该类时,已使用下面语句生成了该类的对象:
Person p1,p2
p1=new Person ("Tom", 30, 4000);
p2=new Person ();
问题:
(1) , p1.age , p1.earnings的值各是什么?
(2) , p2.age , p2.earnings的值各是什么?
4. 定义类SuperClass和类SubClass如下,根据要求回答以下问题.
class SuperClass
{
void print( )
{
System.out.println(“SuperClass”);
}
}
class SubClass extends SuperClass
{
void print( )
{
super.print( );
Syste m.out.println(“SubClass”);
}
}
(1)类SuperClass和类SubClass是什么关系?
(2)定义类SubClass的对象b:
SubClass b=new SubClass ();
则: b.print()输出的结果是什么?
5. 阅读下面的程序,给出程序运行后的输出结果:
public class ExceptionTest
{
void throw1() throws Exception
{
int x = 0;
try
{
x = 3/x;
System.out.println ("x = " + x);
}
catch(Exception e)
{
System.out.println ("catch in throw1()" );
}
finally
{
System.out.println ("finally in throw1()");
}
}
public static void main(String[] args)
{
ExceptionTest et = new ExceptionTest();
try
{
et.throw1();
System.out.println ("next of throw1()");
}
catch(Exception e)
{
System.out.println ("catch in main()");
}
finally
{
System.out.println ("finally in main()");
}
}
}
四、程序填空题:共5小题,每小题4分,满分20分。

1.下面方法的功能是求两个整数的最大值,将程序补充完整。

_ max(int a , int b)
{ if(a>b)
return _ ;
else
return b;
}
2.下面是一个类的定义,请将其补充完整。

class _
{
String name;
int age;
Student( _ s , int i )
{
name=s;
age=i;
}
}
3.下面是重新定义的 Applet 类中paint( )方法,该方法实现的功能是在Applet窗口的(10,20)坐标位置上显示字符串“你好”,请完成这个方法的定义。

public void paint(Graphics g)
{
g.drawString("你好!" , , );
}
4.下面程序的功能为计算数组各元素的和,请完成程序。

public class SumOfArray
{
public static void main(String[] args)
{
int a[] = { 1, 3, 5, 7, 9, 10 };
int total=0;
for ( int i = 0; i < ; i++ )
_____________;
System.out.println( "Total of array elements: " + total );
}
}
5.下面是一个类的定义,按照如下要求完成程序填空。

(1)在无参构造方法MyClass ( )中调用有参的构造方法;
(2)在有参构造方法MyClass ( int x)中实现用参数x为属性x初始化(赋值)。

public class MyClass
{
int x;
MyClass ( )
{
(0);
}
MyClass ( int x)
{
;
}
}
五、程序设计题:共2小题,每小题10分,满分20分。

1. 编写程序求出所有的水仙花数(水仙花数是指个位、十位和百位三个数的立方和等于这个三位数本身的数)。

提示:
(1)利用求余运算符%分解数字,用除法运算符/分离位数。

例如,234%10 = 4而234/10 = 23。

(2)利用循环反复分解和分离每位数字,直到所有的位数都被分解。

(3)求分离出来的个位、十位和百位三个数字的立方和,判断和该数本身是否相等,若相等则输出这个数字。

(4)返回第(1)步继续判断下一个数字,直到该数字大于999为止。

2. 实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。

具体要求如下:
(1)Person类中的属性有:姓名name(String类型),地址address(String类型),电话号码telphone(String类型)和电子邮件地址email(String类型);(2)Employee类中的属性有:办公室office(String类型),工资wage(double类型),受雇日期hiredate(String类型);
(3)Faculty类中的属性有:学位degree(String类型),级别level(String类型);
(4)Staff类中的属性有:职务称号duty(String类型);。

相关文档
最新文档