一、选择题
1. Java语言的类型是( ) A.面向对象语言
B.面向过程语言
C.汇编程序
D.形式语言
2. 下列选项中,____反映了Java程序并行机制的特点。( ) A.安全性 B. 多线程 C. 跨平台 D. 可移植
3.下列_______是面向大型企业级专用构件的应用平台。( ) A.J2EE B.J2ME C.J2SE D.J2DE
4.编译器Java Application源文件将产生相应的字节码,这些字节码文件的扩展名为( ) A.java B.class C.html D.exe
5.只包含一个带public修饰的Java类Hello的Java程序的正确命名是
( ) A.Hello B.Hello.java C.hello.java D.一个任意的标识符后带后缀.java
6.下面这些标识符__________是错误的。()
A. Javaworld
B. _sum
C.2Java Program
D.$abc
7.以下选项中a已定义类型,合法的赋值表达式为()
A.a=int(y)
B.a==1
C.a=a+1=3
D.++a
8. 下列基本数据类型所占的字节数相同的组是( )
A.布尔型和字符型
B.整型和单精度型
C.字节型和长整型
D.整型和双精度型
9.为使整型变量x的值加1,下面写出的形式不对的是( )
A. x++
B. ++x
C. x=x+1
D. x=+1
10. 以下关于for语句的描述中,错误的是( )
A. for语句是一种循环控制语句
B. for语句括号中的三个部分都可以省略,但两个分号不能省
C. for语句通常用于循环次数确定的循环,但也可用于循环次数不确定的循环
D. for语句的功能比while循环和do-while循环的功能强大
11. 以下关于break的描述中,错误的是()
A. break只能应用于for循环、while循环和do-while循环
B. break语句在循环中的作用是跳出循环
C. 在多重循环中使用break语句时,它仅能终止其所在的循环层
D. break语句在switch语句中的作用是跳出switch结构
12. 以下关于if-else语句的描述中,错误的是()
A.if语句可以单独使用
B.else语句可以单独使用
C.if-else语句可以进行嵌套
D.if或else语句体中的语句若多于一条,外面需要大括号括起来
13.下面语句中不是循环语句的是 ( )
A.switch语句
B.while语句
C.for语句
D.do-while语句
14.下列数组的声明形式错误的是( )
A. float a[ ]
B. float a[5]
C. int a[ ]=new int[5]
D. float [ ]c
15.执行代码int[] x=new int[5];后,以下说明中正确的是()
A.x[4]为0
B.x[4]未定义
C.x[5]为0
D.x[0]为空
16.在Java中,__________不是new操作符的作用()
A.为对象分配内存空间
B.调用类的构造方法
C.为对象返回一个引用
D.产生一个新的类
17.下列关于实例属性的描述中正确的是()
A.使用static修饰符的属性成员为实例属性
B.实例变量取决于类的实例。每创建一个实例,Java虚拟机就会为实例变量分配一次内存
C.无论创建了多少个类实例,实例属性都只有一个,被本类的所有实例共享
D.实例属性可以直接通过类名来进行访问
18.以下___________不是Java提供的对类成员的访问权限()
A.public
B.static
C.protected
D.private
19.如果一个类被声明为final类,则下列说法错误的是()
A.说明此类是根类
B.说明此类是最终类
C.此类中的方法不能被覆盖
D.此类中的变量不能被隐藏
19. 以下关于构造方法的描述错的是()
A. 构造方法的返回类型只能是void型
B. 构造方法是类的一个特殊方法,它的方法名必须与类名相同
C. 构造方法的主要作用是完成类的对象的初始化工作
D. 一般在创建新对象时,系统会自动调用构造方法
20. 类Custom中有成员getMoney(),如果其生成对象为myCust,则在Cust类外对getMoney()方法使用正确的是()
A.myCus t→getMoney()
B.myCust.getMoney()
C.getMoney()
D.myCust(Cust)
21.下列关于静态方法的描述中错误的是()
A.静态方法并不操作调用它的对象,所以不能用静态方法来访问实例属性
B.可以使用“类名.方法名”来调用静态方法
C.可以使用“对象.方法名”来调用静态方法
D.静态方法需要先创建实例之后,才可以应用
22.在某类中存在一个方法:int getValue(int x),以下能作为这个方法重载的是
()
A. public getValue(int x);
B. void getValue(int x);
C. int getValue(int x,int y);
D. int get(int x);
23.下列关于抽象方法的描述中,错误的是 ( )
A.抽象方法声明只需给出方法头,不需要方法体,直接以“;”结束
B.所有的方法都可以声明为抽象方法
C.构造方法不能声明为抽象方法
D.声明抽象方法使用关键字abstract修饰
24. Swing组件必须添加到Swing顶层容器相关的()
A.分隔板上
B.内容面板上
C.选项板上
D.复选框内
25.GUI是______________的缩写()
A. 布局管理器
B. 资源管理器
C. 用户图形界面
D. 图形用户界面
26.下列________方法用来获取产生一个事件的组件 ( )
A.actionPerformed()
B.getSource()
C.super()
D.getContentPane()
27.下列方法中可以用来创建一个新线程的是()
A. 实现https://www.wendangku.net/doc/ce4162395.html,ng.Runnable接口并重写start()方法
B. 实现https://www.wendangku.net/doc/ce4162395.html,ng.Runnable接口并重写run()方法
C. 继承https://www.wendangku.net/doc/ce4162395.html,ng.Thread类并重写run()方法
D. 继承https://www.wendangku.net/doc/ce4162395.html,ng.Thread类并重写start()方法
28.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()
A.java.io
B.java.awt
C.java.applet
D.java.awt.event
29.Jpanel和Japplet的默认布局管理器是()
A.FlowLayout
B.CardLayout
C.BorderLayout
D.GridLayout
30.鼠标被移动时会调用___方法,并且注册一个事件监听器处理此事件()
A.actionPerformed
B.addItemListener
C.mouseMove
D.add
30.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上___________语句。()A.import java.awt.*; B.import java.applet.Applet;
C.import java.io.*;
D.import java.awt.Graphics;
31.下列流中__________不属于字节流。()
A. InputStreamReader
B. BufferedInputStream
C. FileOutputStream
D. FileInputStream
32.线程在生命周期中要经历5中状态,若线程当前是新建状态,则它可以到达的下一个状态时()
A.运行状态
B.不可运行状态
C.阻塞状态
D.终止状态
33.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上___________语句。()A. import java.awt.*; B.import java.applet.Applet;
C. import java.io.*;
D.import java.awt.Graphics;
34.下列流中__________不属于字节流。()
A. InputStreamReader
B. BufferedInputStream
C. FileOutputStream
D. FileInputStream
二、填空题
1..对每一个Java类而言,标准的程序入口包括_____________________________代码行。
2. __________称为Java开发包或Java开发工具,是一个写Java的Applet小程序和应用程序的程序开发环境。
3. ____________是Java虚拟机所支持的指令。
4. Java中,逻辑运算符有!、______、||。
5. 表达式3/6*5=_________
6. Java中,利用关键字_________声明常量。
7. 执行下列语句后,b的值为_________
int a,b,c;a=1;b=3;c=(a+b>3?++a:b++)
8. ______________语句基于一个表达式条件来执行单个分支语句中的一个,它是一个不需要布尔求值的流程控制语句。
9. 在if语句中,if后括号中的“条件”为关系表达式或布尔逻辑表达式,其值为___________
10. 访问权限是__________的变量,只能在本类中使用,不能再类外使用。
11. 在某个方法内,若变量的名字和成员变量的名字相同,则成员变量
_________,该成员变量在这个方法内暂时失效。
12.定义一个接口,应使用____________关键字。
13. 类的构造方法的名称必须与_________相同。
14.当使用一个类创建了一个________时,我们也说给出了这个类的实例。
15.Java最顶层的根类是___________,它是所有类的祖先类。
16.把父类继承来的方法重写的方式,称为_________________。
17.抽象类提供了______________和______________分离的机制,使各子类表现出共同的行为模式。
18.要实现一个接口,可以在一个类定义中使用________________关键字。
19.如果不想在当前方法内处理异常,可以使用__________语句将异常抛出到调用方法中。
20.一般情况下,自定义的异常类都选择______________作为父类。
21.在子类中可以采用______________________的方法引用父类中的同名变量。
22.创建一个标识有“软件学院”字样的标签对象gxdd的语句为______________
23.Swing的事件处理机制包括__________、事件和事件监听者。
24.Swing的顶层容器有_________、Japplet、Jwindow和Jdialog。
25.创建一个标识有“关闭”字样的按钮对象gb的语句为_____________________
26.Swing的事件处理机制包括__________、事件和事件监听者。
27.每个事件类对应于一个事件监听器,监听器接口KeyListener相对应的适配器是_______________。
28.__________类封装了对文件进行操作的功能和方法。
29.____________类不能创建对象,必须产生子类,由子类创建对象。
30.在Java编程中,创建线程的两种方法是_____________________和_____________________________。
31.Java程序通过流控制来执行程序流,程序中单个顺序的流控制称为_________,_________则指的是在单个程序中可以同时运行多个不同的线程执行不同的任务。
32.java.io包中的__________和___________类主要用于对对象的读写。
33.__________类封装了对文件进行操作的功能和方法。
34.__________称为Java开发包或Java开发工具,是一个写Java的Applet小程序和应用程序的程序开发环境。
35.使当前线程睡眠4秒,调用方法Thread类_________________方法。
36.__________是Java程序的并发机制,它能同步共享数据、处理不同的事件。
37.实例化FileInputStream和FileOutputStream时,要用try-catch处理可能抛出的_______________异常。
三、判断题
1.Java 应用程序中,必有一个主方法main(),该方法有没有参数都可以。
( )
2.取模运算符只可用于整型操作数。 ( )
3.在Java 语言中,执行语句“boolean m=1 && 0;”的结果是给boolean 类型变
量m 赋初值为false 。 ( )
4.注释的作用是使程序执行时在屏幕上显示//之后的内容。 ( )
5.default 在switch 选择结构中是必须的。 ( )
6.break 语句在switch 选择结构中是必需的。 ( )
7.在一个类的源程序文件中,可以包含多个类,并且在各个类名之前,都可以使
用public 修饰符. ( )
8.一个类中,只能拥有一个构造方法。 ( )
9.如果父类的成员都是public 属性,则子类就会继承父类的所有成员。 ( )
10.在一个Java 源程序文件中,可以包含多个类,并且在各个类名之前,都可以
使用public 修饰符。 ( )
11.即使一个类中未显式定义构造方法,系统也会分配一个缺省的构造方法,缺
省的构造方法是无参的,且方法体是空的。 ( )
12.JTextArea 类是Component 类的直接子类。 ( )
13.Java 线程有5种不同的状态,这五种状态的任何两种状态之间都可以相互转
换。 ( )
14.当鼠标指针位于一个GUI 组件的边上时,发生一个MouseOver 事件。 ( )
15.线程同步就是若干个线程都需要使用同一个synchronized 修饰的方法( )
16.如果线程死亡,它便不能运行。 ( )
17.C 和Java 都是多线程语言。 ( )
18.随机存取文件中的记录必须等长。 ( )
19.InputStream 和OutputStream 类都是抽象类。 ( )
四、问答题
1.简述final 、finally 、finalize 的区别。
2.类和对象之间有什么关系?
3.简述方法重载和方法覆盖的区别。
4.什么是Swing ?它比AWT 有什么优点?使用上有什么区别?
四、编程题
1.编写一个Java 程序,求1!+2!+3!+ (10)
2.求水仙花数:水仙花是这样的一个三位正整数,此数各数字的立方之和恰好等
于该数之值。例如153就是一个水仙花数:333351153++=。编程找出这样的
水仙花数并输出到屏幕。
3.定义一个学生类,要求:包含属性“姓名”和“总人数”,包含方法“显示学
生姓名”、“显示总人数”。编写程序并进行验证。
4.编写一个完整的Java Application 程序,包含类Person 、TestPerson ,具体
要求如下:
(1)Person 类
①属性
●name:String对象,表示姓名
●sex:char类型,表示性别
●id:String对象,表示身份证号
●phone:String对象,表示联系电话
●email:String对象,表示E-mail地址
②方法
●Person(String name,char sex,String id):构造方法
●void setEmail(String email):设置E-mail地址
●void setPhone(String phone):设置联系电话
●public String toString():返回个人的各项信息,包括姓名、性别等上述属性
(2)类TestPerson作为主类,完成如下测试功能
①用以下信息生成一个Person对象aPerson
●姓名:张三;
●性别:男;
●身份证号:220203************
②设置E-mail:zhangsan@https://www.wendangku.net/doc/ce4162395.html,
设置联系电话:130********
③输出对象aPerson的各项信息
5.编写一个图形用户界面的Application程序,包含一个带文本和图标的JButton对象,文本为“按钮”。当用户单击这个按钮时,Application程序把其文本修改为“单击按钮”。
6创建一个300*200的窗口,标题为“显示窗口程序”。
7.假设有一百张票由四个售票点同时在卖,请用多线程来编程此售票过程(请在编程中避免出现一张票号被打印多次以及出现0和负数票号的情况)