资源描述
班级学号_________________________ 姓名___________________ (第 页, 共 页)
-------------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线--------密--------封--------线------------
一、选择 ( 2*15=30 分)
(1)在Java中,负责对字节代码解释执行的是()。
A)垃圾回收器 B)虚拟机
C)编译器 D)多线程机制
(2)下列叙述中,正确的是()
A)Java语言的标识符是区分大小写的
B)源文件名与public类名可以不相同
C)源文件扩展名为.jar
D)源文件中public类的数目不限
(3)下列属于合法的Java标识符是 ()
A)_cat B)5books
C)+static D)-3.14159
(4)在Java中,表示换行符的转义字符是 ()
A)\n B)\f
C)'n' D)\dd
(5)在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是()
A)java.applet B)java.awt
C)java.util D)java.lang
(6)在Java中,所有类的根类是 ()
A)java.lang.Object B)java.lang.Class
C)java.applet.Applet D)java.awt.Frame
(7)在Java中,用Package语句说明一个包时,该包的层次结构必须是()
A)与文件的结构相同 B)与文件目录的层次相同
C)与文件类型相同 D)与文件大小相同
(8)在读字符文件Employee.dat时,使用该文件作为参数的类是 ()
A)BufferReader B)DataInputStream
C)DataOutoutStream D)FileInputStream
(9)下列构造方法的调用方式中,正确的是 ()
A)按照一般方法调用 B)由用户直接调用
C)只能通过new自动调用 D)被系统调用
(10)类Panel默认的布局管理器是 ()
A)GridLayout B)BorderLayout
C)FlowLayout D)CardLayout
(11)在Java中,能实现多重继承效果的方式是 (C)
A)内部类 B)适配器
C)接口 D)同步
(12)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(D)
A)public int MAX_LENGTH=100
B)final int MAX_LENGTH=100
C)public const int MAX_LENGTH=100
D)public final int MAX_LENGTH=100
(13)下列不是InputStream子类的是 (C)
A)文件输入流FileInputStream
(14)下列方法中可以用来创建一个新线程的是 (C)
A)实现java.lang.Runnable接口并重写start()方法
B)实现java.lang.Runnable接口并重写run()方法 :间接生成线程
C)实现java.lang.Thread类并重写run()方法
D)实现java.lang.Thread类并重写start()方法
(15)下列关于Java Application与Applet的说法中,正确的是(C)
A)都包含main()方法
B)都通过“appletviewer”命令执行
C)都通过“javac”命令编译
D)都嵌入在HTML文件中执行
(16)当启动Applet程序时,首先调用的方法是 (B)
A)stop() B)init()
C)start() D)destroy()
(17)下列关于线程优先级的说法中,正确的是 (C)
A)线程的优先级是不能改变的
B)线程的优先级是在创建线程时设置的
C)在创建线程后的任何时候都可以设置
D)B和C
(18)当浏览器重新返回Applet所在页面时,将调用Applet类的方法是(A)
A)start() B)init()
C)stop() D)destroy()
(19)下列代码中,将引起一个编译错误的行是 (D)
1)public class Test{
2) int m,n;
3) public Test() {}
4) public Test(int a) {m=a;}
5) public static void main(String args[]){
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行
(20)下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello”,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是(D)
public class Test implements Runnable{
public static void main(String args[]){
Test t=new Test();
Thread tt=new Thread(t);
tt.start();
}
public void run(){
for(;;){
try{ ___________
;
}catch(____________ e){}
System.put.println("Hello");
}
}
}
A) sleep(1000) InterruptedException:线程长时间休眠,等待被中断
B) sleep(1000) InterruptedException
C) Thread.sleep(1000) RuntimeException:运行过程出现错误,退出线程
D) Thread.sleep(1000) InterruptedException
(21)阅读下列代码后,正确的说法是 (A)
public class Person{
int arr[]=new int[10];
public static void main(String args[]){
System.out.println(arr[1]);
}
}
A) 编译时将产生错误:类方法不能使用示例变量
B) 编译时正确,运行时将产生错误
C) 输出零:类变量时 D) 输出空
(22)下面的哪些赋值语句是不正确的( A ):
A.float f=11.1; B.double d=5.3E12;
C.double d=3.14159; D.double d=3.14D;
(23)、下面关于变量及其范围的陈述哪些是不正确的( B ):
A.实例变量是类的成员变量
B.实例变量用关键字static声明
C.在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化
(24)、下列关于修饰符混用的说法,错误的是( D ):
A.abstract不能与final并列修饰同一个类:抽象类必需继承
B.abstract类中不可以有private的成员 :抽象类有非抽象方法
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
(25)、容器Panel和Applet缺省使用的布局编辑策略是( A ):
A、BorderLayout B、FlowLayout
C、GridLayout D、CardLayout
(26)、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( B ):
A、 public static void main()
B、 public static void main(String[ ] args)
C、 public static int main(String[ ] arg)
D、 public void main(String arg[ ])
(27)、编译运行以下程序后,关于输出结果的说明正确的是 ( C ):
public class Conditional{
public static void main(String args[ ]){
int x=4;
System.out.println(“value is “+ ((x>4) ? 99.9 :9));
}
}
A、 输出结果为:value is 99.99
B、 输出结果为:value is 9
C、 输出结果为:value is 9.0 :表达式数据类型为三项最大double。
D、 编译错误
(28) 关于以下application的说明,正确的是( C ):
1. class StaticStuff
2. {
3. static int x=10;
4. static { x+=5;} :静态块,创建对象先运行且只运行一次
5. public static void main(String args[ ])
6. {
7. System.out.println(“x=” + x);
8. }
9. static { x/=3;}
10. }
A、 4行与9行不能通过编译,因为缺少方法名和返回类型
B、 9行不能通过编译,因为只能有一个静态初始化器
C、 编译通过,执行结果为:x=5
D、编译通过,执行结果为:x=3
(29)、关于以下程序代码的说明正确的是( D ):
1.class HasStatic{
2. private static int x=100;
3. public static void main(String args[ ]){
4. HasStatic hs1=new HasStatic( );
5. hs1.x++;
6. HasStatic hs2=new HasStatic( );
7. hs2.x++;
8. hs1=new HasStatic( );
9. hs1.x++;
10. HasStatic.x- -;
11. System.out.println(“x=”+x); :类变量的内存共享
12. }
13.}
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:x=103
D、程序通过编译,输出结果为:x=102
(30) Java应用程序经过编译后会产生一个以(B)为扩展名的字节码文件
A、.java B、.class
C、.exe D、.html
(31)、为名为pido的类书写一个无形式参数无返回值的方法method方法头,使得使用类名pido作为前缀就可以调用它,则该方法头的形式为( A )
A、static void method() B、public void method()
C、final void method() D、abstract void method()
(32)、有如下程序段, 则执行以上程序段后,以下选项描述正确的是(D)
String unset=null;
System.out.println("Hello Pido! ");
if(unset!=null && unset.length()>5)
{
System.out.println("Hello Pido! ");
}
A、运行时出现错误 B、编译正确但运行时空指针异常
C、编译时出现空指针异常 D、没有任何错误出现:每一项假,第二项不运行
(33)、当程序动态添加或删除某些组件后,需要用到( C)方法
A、finalize(): 保护类GUI释放输入方法内容 B、 destory()
C、validate() D、dispose():从窗口释放图形文本和系统资源
(34)、下列选项中不是MouseListener接口中的方法的是(A )
A、mouseMoved() B、mousePressed()
C、mouseReleased() D、mouseClicked()
(35)、Java语言不是( C )
A、高级语言 B、编译型语言
C、结构化设计语言 D、面向对象设计语言
(36)、Jcreator是( B )
A、一种全新的程序语言 B、一种java程序开发辅助工具
C、一种由Java写成的浏览器 D、一种游戏软件
(37)、Java语言中创建一个对象使用的关键字为 ( C )
A、class B、interface
C、new D、create
(38)、对于可以独立运行的Java应用程序,下列( D )说法是正确的。
A、无须main方法 B、必须有两个main方法
C、可以有多个或零个main方法 D、必须有一个main方法
(39)、用abstract定义的类( D )
A、可以被实例化 B、不能派生子类
C、不能被继承 D、只能被继承
(40)以public修饰的类如:public class Car{…} 则Car( A )
A、可被其它程序包中的类使用 B、仅能被本程序包中的类使用
C、不能被任意其它类使用 D、不能被其它类继承
(41)、下述概念中不属于面向对象方法的是( D )。
A.对象、消息 B.继承、多态
C.类、封装 D.过程调用
(42)下列关于构造方法的叙述中,错误的是( C )
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
(43)下列哪个类的声明是正确的?( D )
A.abstract final class HI{} B.abstract private move(){}
:不是抽象方法 ,方法体{}
C.protected private number; D.public abstract class Car{}
(44)类Test1定义如下, 将以下哪种方法插入行3是不合法的( B )
1.public class Test1{
2. public float aMethod(float a,float b){ };
3.
4.}
A、public float aMethod(float a, float b,float c){ }
B、public float aMethod(float c,float d){ }
C、public int aMethod(int a, int b){ }
D、private float aMethod(int a,int b,int c){ }
(45)某一个子类要继承一个父类,要使用关键字( B )
A、import B、extends
C、implements D、java
(46)、某一个子类要实现一个父接口,要使用关键字( c )
A、import B、extends
C、implements D、java
(47)、在JDK环境下编译JAVA原程序使用的命令是( b )
A、java B、javac
C、jvm D、tomcat
(48)、以下关于接口和类的说法正确的是( c )
A、接口和类都可以实现多重继承
B、子类可以继承多个父类
C、子类可以实现多个接口
D、一个子类不能同时继承某一个父类和实现某一个接口
(49)、嵌入到网页中运行的java小程序称为applet,嵌入到网页中的html标签是( C )
A、code:引入程序的关键字 B、body
C、applet:标签对中间是程序文件名 D、html
(50)、假设现在有一个类,名称为ceshi,现在要声明和创建一个ceshi类型的对象变量ceshiA,则下述正确的是( d )
A、ceshi ceshiA; B、ceshi ceshia=new ceshi;
C、ceshi ceshiA=new ceshi; D、ceshi ceshiA=new ceshi()
(51)、类中可以定义独立于方法的静态成员变量,这种变量其作用域是属于( c )
A、类中的public方法
B、类中的private方法
C、独立于所有方法,只和该类声明时使用的修饰符有关
D、没有确切的范围
(52)、在JAVA中实现图形用户界面可以使用组建AWT和组件( B )
A、swing:包 B、Swing
C、JOptionPane D、import
(53)、friendly(缺省权限)修饰符修饰的成员变量或方法,其作用域是( a )内
A、包 B、类
C、方法 D、程序文件
(54)、一个非抽象子类,如果要实现某个接口,则( a )
A、必须实现该接口中的所有抽象方法
B、可以实现部分抽象方法
C、可以不实现任何抽象方法
D、无所谓
(55)、下列关于关键字this和super的说法正确的是( c )
A、this是调用父类的方法和变量
B、super是调用本类中的方法
C、super是调用父类的方法和变量
D、没有区别
(56)、下列关于构造方法的说法正确的是( a )
A、构造方法必须是和类的名称相同
B、每一个类都必须显示声明自己的构造方法
C、构造方法不能进行重载
D、子类不能使用父类的构造方法
(57)、在JAVA中,一般菜单格式包含有下列类对象(d )
A、JMenuBar B、JMenu
C、JMenuItem D、JMenuBar、JMenu、JmenuItem
(58)、JAVA中的“委托事件模型”主要包括产生事件的对象、事件对象和( b )
A、事件源 B、事件处理方法
C、监听者对象 D、ActionListener
(59)、JAVA中提供了多种布局对象类。其中使用卡片式布局的是( d )
A、FlowLayout B、BorderLayout
C、GridLayout D、CardLayout
(60)、下列 ( A ) 不属于AWT布局管理器。
A、 BoxLayout B、GridLayout
C、BorderLayout D、FlowLayout
(61)、类的3个重要特征是类的封装、多态和( c )
A、 实现 B、重写
C、 继承 D、重载
(62)、Java语言有许多优点和特点,下列选项中,( B ) 反映了Java程序并行机制的特点。
A、安全性 B、多线程
C、跨平台 D、可移植
(63)、下面 ( C ) 不是创建数组的正确语句。
A)float f[][]=new float[6][6]; B)float f[]=new float[6];
C)float f[][]=new float[][6]; D)float [][]f=new float[6][];
(64)、假设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()
(65), 下列叙述中,错误的是 ( B )
A、File类能够存储文件 B、File类能够读写文件
C、File类能够建立文件 D、File类能够获取文件目录信息
(66)、在Java中,关于final关键字的说法正确的是 ( A)
A、如果修饰变量,则一旦赋了值,就等同一个常量
B、如果修饰类,则该类只能被一个子类继承
C、如果修饰方法,则该方法能在子类中被覆盖
D、如果修饰方法,则该方法所在的类不能被继承
(67)、Java程序中读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用throw语句显式地引发异常,异常输出信息为“something’s wrong!”,语句为 ( C )
A、if (I>10) throw Exception(“something’s wrong!”);
B、if (I>10) throw Exception e (“something’s wrong!”);
C、if (I>10) throw new Exception(“something’s wrong!”);
D、if (I>10) throw new Exception e (“something’s wrong!”);
(68)、在Java中,下面关于包的陈述中正确的是 ( A )
A、包的声明必须是源文件的第一句代码
B、包的声明必须紧跟在import语句的后面
C、只有公共类才能放在包中
D、不可以将多个源文件中的类放在同一个包中
(69)、在Java中,要想使只有定义该类所在的包内的类可以访问该类,应该用 ( A ) 关键字。
A、不需要任何关键字 B、private
C、final D、protected
(70)、JAVA中,为了辨别用户关闭窗口的时间,要实现监听器接口(C)
A、MouseListener B、ActionListener
C、WindowListener D、以上都要
(71)监听事件和处理事件(A)
A)都由Listener完成
B)都由相应事件Listener处登记过的构件完成
C)由Listener和构件分别完成
D)由Listener和窗口分别完成
(72)处理对象传输的接口是 (A)
A)Serializable B)Cloneable
C)ItemListener D)ActionListener
(73)可以使当前同级线程重新获得运行机会的方法是 (B)
A)sleep() B) join()
C) jield D) interrupt()
(74)无法对TextField 对象进行事件监听和处理的是 (C)
A)ActionListener B)FacusListener
C)MouseMotionListener D)ChangeListener
(75) 在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是(A)
A)import B)package
C)include D)packet
二、 填空 ( 1*20= 20 分)
1,Java 2 platform分成三个版本套件____J2SE_____、______J2EE__、________J2ME______。
2、Arrays类的________sort____方法可以对数组进行排序。
3、________Interface___关键字用来定义一个接口。
4、在java中,把数据类型分为两大类为____基本类型____和______对象类型___。
5、若在java程序中设置包语句,则使用关键字________package______。若要导入其他包中的类则需要使用关键字___________import_______。
6、(在同一包中)子类不能继承父类中的____private__ 成员,除此之外,其它所有的成员都可以通过继承变为子类的成员。
7、Java不直接支持多继承,但可以通过_____接口_____实现多继承。
8、当实现Runnable接口时,要实现的方法是_________________run()______ 。
9、java接口内的方法都是公共的、_____抽象_______的,实现接口就要实现接口内的所有方法。
10、java语言的_____内部类 可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在方法中的局部变量。
11、继承性与多态性是面向对象的核心特征。
11、下列程序构造了一个Swing Applet,请在下划线处填入正确的代码
Import javax.swing.*;
Import java.awt.*;
Public class SwingApplet extends Japplet {
Jlabel l = new Jlabel (“This is a Swing Applet.”);
Public void init(){
Container contentPane = getContentPane();
contentPane.add(1);
}
}
12、请在下划线处填入代码,是程序正常运行并且输出“Hello!”
Class Test extends Thread {
Public static void main (String[] arge){
Test t = new Test();
t.start();
}
Public void run(){
System.out.println(“Hello!”);
}
}
13、创建一个名为 MyPackage 的包的语句是:__Package MyPackage _______________ 。
14、下面是以命令行参数形式输入double型数据的程序,并对出现的数组越界异常(IndexOutOfBoundsException异常)和数据格式错误异常(NumberFormatException异常)进行捕获处理。请将程序补充完整。
class Catch2Demo
{ public static void main(String args[])
{
______try ____
{
String s=args[0];
double d=Double.parseDouble(s);
System.out.println("d的平方为:"+d*d);
}
catch(IndexOutOfBoundsException e)
{
System.out.println("没有输入命令行参数");
e.printStackTrace();
}
________catch(NumberFormatException e)______
{
System.out.println("没有输入正确的数据");
e.printStackTrace();return;
}
}
}
15、运行HelloApp .java Applet小程序的网页如下。
<html>
<applet _______code____="HelloApp.class" width=200 height=35>
</applet> //java应用程序标签
</html> // 超文本文件标签
16、对圆进行数据抽象,并建立类。
class point{ // 定义点类point
int x0; int y0;
point(int x,int y){ //构造方法
this.x0=x; this.y0=y;}
}
class circle{ // 定义圆类circle
point center;
int radius;
___circle_____(point p1,int r1){ //构造方法
this.center=p1; this.radius=r1;}
double area(){ // 定义园面积
return Math.PI*radius*radius;}
}
17、建立抽象类figure,并进一步建立矩形类。
public abstract class figure{
public abstract float area();
public abstract float circumference();}
public class rectangle __implement____ figure{
public float d;
public rectangle( )
{d=11.4;}
public float __area__( )
{return d*d;}
public float circumference( )
{return 2*d;}
}
18、封装可以限定类中的成员只被该类本身访问:
package p1;
public class ori{
// 要求限定类中的成员只被该类本身访问
___private____ int n_p=2;
void Access(){
System.out.println(“n_p=”+n_p);}
}
19、字符串转化成简单数据类型。
public class StringToObject{
public static void main(String args[]) {
i
展开阅读全文