第一部分选择题(单选)
1.javac 是 Java 的 ( )。 B
A. 解释器
B. 编译器
C. 小程序浏览器
D. 调试器
2. appletviewer 是 Java 的 ( )。 C
A. 解释器
B. 编译器
C. 小程序浏览器
D. 调试器
3.编译一个定义了三个类和三个方法的 Java 源码文件,总共会产生几个字节码文件,其扩展名是什么?( ) C
A. 5 个字节码文件,其扩展名是”.java”。
B. 2 个字节码文件,其扩展名是”.java”。
C. 3 个字节码文件,其扩展名是”.class”。
D. 2 个字节码文件,其扩展名是”.class”。
4.Java 源码文件的名称与主类的名称( )。B
A. 必须相同但不区分大小写
B. 必须相同且区分大小写
C. 必须不同
D. 任意
5.下面哪些选项不能用作变量名的首字符?()C
A. 字母
B. 下划线(_)
C. 数字
D. 美元符($)
6.下面哪个不是 Java 的原始数据类型?() C
A. short
B. boolean
C. Int
D. float
7.下面哪条语句不会出现编译警告或错误?() A
A. float f=1.3F;
B. char c=”a”;
C. float f=1.3;
D. boolean d=null;
8.以下声明常量不正确的是()。 B
A. final int PI=3;
B. final PI=3;
C. static final int PI=3;
D. public static final int PI=3;
9.Java 定义了 4 个整型数据类型:字节型(byte)、短整型(short)、整型(int)、长整型(long),其中 byte 占用存为 A
A. 8 bit
B. 16 bit
C. 32 bit
D. 64 bit
10.5%2.1 的值是( )。 C
A. 1
B. 0
C. 0.8
D. 不能通过编译
11. -11&3 的值是( )。 A
A. 1
B. 3
C. 9
D. -11
12..8<<2 值是( )。 D
A. 2
B. 4
C. 8
D. 32
13.若有 int a=1,b=2,c=3,d=4;,则表达式 a>b ? a:c>d ? c:d 的值是( )。D
A. 1
B. 2
C. 3
D. 4
14.以下为合法类型转换的为()。 D
A. (int)”A”
B. (char)”A”
C. (boolear)(2-2)
D. (char)(651/12)
15.下面哪条语句是正确的?()C
A. int a={1,2,3,4,5};
B. int b=(1,2,3,4,5);
C. int c[]={1,2,3,4,5};
D. int []d={1 2
3 4 5};
16.对于数组 int a[];下面哪条语句可以输出数组 a 的元素的个数? D
A. System.out.println(a.size);
B. System.out.println(a.size( ));
C. System.out.println(a.length());
D. System.out.println(a.length);
17. 可以用作 switch 表达式的基本数据类型分别是()。B
A. Boolean
B. byte
C. float
D. double
18.下面的 while 语句退出时, i 的值是()。C
byte b=1;int i=0; while(b++>0) i=i+1;
A. 126
B. 0
C. 127
D. 出现死循环,i 的值为无穷大。
19.设 J_Hello.java 文件容如下:
class J_ Hello { static void main(String args[]){ System.out.println(“Hello!”); }}
下面正确的说法是:() B
A. J_Hello.java 无法通过编译。
B. J_Hello.java 可以通过编译,但运行时出现”Main method not public”提示信息。
C. J_Hello.java 可以通过编译,但无法运行,且无任何提示信息。
D. J_Hello.java 可以通过编译,可以正常运行,输出”Hello!。
20.下面哪个类声明是正确的。() D
A. abstract final class car{}
B. abstract private car(){}
C. protected private car{}
D. public abstract class car{}
21.下列()的说法是错误的。 C
A. Java 语言只允许单一继承
B. Java 语言允许多个接口
C. Java 语言不允许一个类派生多个子类
D. Java 语言的单一继承使得代码更加可靠
22.下述()说法是正确的。 A
A. 实例变量是类的成员变量
B. 实例变量是用 static 关键字声明的
C. 方法变量在方法执行时创建
D. 方法变量在使用之前不用初始化
23.使用继承的优点是() A
A. 基类的大部分功能可以通过继承关系自动进入派生类
B. 继承将基类的实现细节暴露给派生类
C. 一旦基类实现出现问题,就会影响到派生类
D. 可在运行期决定是否选择继承代码,有足够的灵活性
24.下列关于修饰符混用的说法,错误的是()。 D
A. abstract 不能与 final 并列修饰同一个类
B. abstract 类中不能有 private 的成员
C. abstract 方法必须在 abstract 类中
D. static 方法中能处理非 static 的属性
25.对于下列代码:
public class Parent
{ public int addValue(int a,int b) {int s;s=a+b; return s;}}class Child extends Parent {…}
Child 类中欲把 Parent 类中的 addValue 方法覆盖,下述什么方法可以加入类 Child 中?() C
A. private int addValue(int a,int b){…}
B. public float addValue(int a,int b){…}
C. public int addValue(int a,int b){…}
D. p ublic int addValue(int a,int
b)throws MyException{…}
26.声明成员变量为临时变量(又称为过渡变量)所用的保留字是()。 C
A. final
B. Abstract
C. Transient
D. temp
27.声明公共变量所用的保留字是()。 A
A. public
B. private
C. protected
D. static
28.声明受保护变量所用的保留字是()。C
A. public
B. private
C. protected
D. static
29.设有下面的程序段:
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. }
哪个说明是正确的是()。 C
A. 4 行和 9 行不能通过编译,因为缺少方法名和返回类型
B. 9 行不能通过编译,因为只能有一个静态初始化器
C. 编译通过,执行结果为:x=5
D. 编译通过,执行结果为:x=3
30.对于下述类定义哪个说确?() D
class MyString extends String{…}
A. 可以成功编译
B. 无法编译,因为没有 main 方法
C. 无法编译,因为 String 是抽象类
D. 无法编译,因为 String 是 final 类
31.不能在 Java 派生类中被覆盖的方法是()。 C
A. 构造函数
B. 动态方法
C. final 方法
D. 抽象方法
32.关于方法覆盖,下面哪个说法是错误的?() A
A. 方法覆盖可以发生在任意类之间。
B. 覆盖方法与被覆盖的方法返回值类型相同。
C. 如果被覆盖的方法是用 public 修饰的,覆盖方法也必须用 public 修饰。
D. 覆盖方法不能抛出比被覆盖的方法更多的异常。
33.下面哪个方法声明是正确的?() C
A. abstract final String abc(){ }
B. public abstract abc(){ }
C. private static void abc(){ }
D. public abstract static void abc(){ }
34.编译以下代码,将出现什么情况?() B
abstract class Shape{ abstract void draw();}class Square extends Shape{ }
A. Square 类和 Shape 类都可以成功编译
B. Square 类无法编译,但 Shape 可以编译
C. Shape 类无法编译,但 Square 但可以编译
D. Square 类和 Shape 类都无法编译
35.关于 Java 的垃圾回收机制,下面哪些结论是正确的?() B
A. 程序可以任意指定释放存的时间
B. 正确的程序写法是不能依赖垃圾回收的时间或者顺序
C. 程序不能标识某个局部变量的引用不再被使用
D. 程序可以显示地立即释放对象占有的存
36.要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包的其它类访问到,下面哪些设计可以满足上述要求?() C
A. 该成员域的封装属性设置为 public
B. 该成员域的封装属性设置为 private
C. 该成员域的封装属性设置为 protected
D. 该成员域不需要特殊的封装属性
37.接口的实现所用的关键字是()。 B
A. interface
B. implements
C. extends
D. throws
38.在编写异常处理的 Java 程序中,每个 catch 语句块应该与什么语句块对应?()C
A. if-else
B. Switch
C. Try
D. throw
39.在编写 Java Application 程序时,若需要使用到标准输入/输出语句,必须在程序的开头写上什么语句?() C
A. import java.awt.*;
B. import java.applet.Applet;
C. import java.io.*;
D. import java.awt.Graphics;
40.下面哪个类最适合处理大数据量的文本文件?() C
A. java.io.FileInputStream
B. java.io.FileReader
C. java.io. BufferedReader
D. java.io.RandomAccessFile
41.以下什么类不属于字符流类?() C
A. Reader
B. FileReader
C. BufferedInputStream
D. StringReader
42.在设计 Java 的数据流操作的程序中,必须加入什么语句?() C
A. import java.awt.*;
B. import java.applet.*;
C. import java.io.*;
D. import java.awt.event.*;
43.以下哪个可能包含菜单条?() B
A. Panel
B. Frame
C. Applet
D. Dialog
44.以下代码完成画线功能,指出所画线的颜色。() D
g.setColor(Color.red.green.yellow.cyan);g.drawLine(0,0,100,100);
A. red
B. green
C. yello
D. cyan
45.Thread 类的什么方法实现线程的暂时停止操作?() D
A. destroy()
B. stop()
C. sleep()
D. suspend()
46.处理线程间通信等待和通知的方法是()。 A
A. wait()和 notify()
B. start()和 stop()
C. run()和 stop()
D. wait()和 suspend()
47.在 Java 中,开发图形用户界面的程序需要使用系统提供的类库,这个类库是()。B
A. java.io
B. java.awt
C. java.applet
D. java.awt.event
48.applet 所在的页面被浏览和加载后,applet 就诞生了。当浏览器切换到别的页面时,它的什么方法被调用?() C
A. init
B. Start
C. Stop
D. destroy
49.标签组件由什么类生成()。 A
A. Label
B. Button
C. Choice
D. Checkbox
50.画矩形,使用什么方法?() B
A. drawLing(x1,y1,x2,y2)
B. drawRect(x1,y1,w,h)
C. drawOval(x1,y1,w,h)
D. drawString(s,x1,y1)
51.Java 是什么公司推出的一种面向对象的现代程序设计语言? ( ) A
A. SUN 公司
B. Borland 公司
C. IBM 公司
D. Microsoft 公司
55.设 x=1,y=2,z=3,则表达式 y+=z++/x--的值是( )。 D
A. 3
B. 3.5
C. 4
D. 5
56.11&-3 的值是( )。 C
A. 1
B. 3
C. 9
D. -11
57.下面哪条语句是正确的?() C
A. int []a1=new double[3[;
B. int a2[][]=new double[];
C. int a3[][]={{1},{1,2},{1,2,3}};
D. int a4[3]={1.0,2.0,3.0};
62. 为 AB 类的一个无形式参数的方法 method 书写方法头,使得使用类名 AB 作为前缀就可以调用它,该方法头的形式为()。 A
A. static void method()
B. public void method()
C. final void method()
D. abstract void method()
65.在 Java Applet 程序用户自定义的 Applet 子类中,一般需要重载父类的什么方法来完成主类实例的初始化工作。 C
A. start()
B. stop()
C. init()
D. paint()
第二部分填空题
1.Sun 公司提供的 Java 开发工具包,用于台式机的开发工具包是 JDK 。
2.Java 程序可分为两种基本类型,它们是基本数据类型和复合数据类型。
3.Java 虚拟机运行 Java 程序的基本步骤是:首先从后缀为 .java 的文件加载代码到存中,接着在存中检查代码的合法性及安全性,然后顺序执行安全和合法的代码。
4.Java 标识符是由字母数字下划线美元符组成的字符序列。
5.Java 字符(char)采用的是 ISO 规定的 unicode 字符集。
6.int 类型数据在存中占 4 个 2 进制位。
7. 在 Java 语言中,字符串直接量是用“”括起来的字符序列。
8.字符串不是字符数组,而是类实例化的实例对象。
9.在类中声明的变量叫属性 ,可在类中使用。
10.在方法和方法块中声明的变量叫局部变量 ,其使用围是方法中。
11.byte 或 short 或 int 类型数据与 long 类型数据混合运算时,其结果是 long 类型.
12.设 x=2,则表达式(x++)/3 的值是 0 。
13.设 x=5,y=10, 则表达式 x>y&&x++==y--的值是 false 。
14.设有运算符!=、*、&&、>=、?:按优先级从高到低的排列顺序是 * != >= && ? : 。
15.表达式(3<5)^(6<4)的值是 true 。
16.表达式(byte)(1200) 的值是 -80 。
17.数组对象的长度在数组对象创建之后,就不能改变。
18.已知数组 a 的定义是“int a[]={1,2,3,4,5};”则这时 a[2]的值是 3 。
19.如有声明 float a[][]=new float[3][4];则系统为该数组分配 12 个字节的空间。
20.对于数组 int [][]t={{1,2,3,4},{5,6,7,8}};,t.length 等于2 ,t[0].length 等于 4 。
21.switch 语句中的 case 后面的常量可以是 byte short 类型、和 int 类型,
22.若有 byte b=1;int i=0; while(++b>0) i=i+1;,则 while 退出时 i 的值为 126 。
23.面向对象的计算机语言一般应有 3 个基本特征,分别是封装、继承和多态。
24.如果一个 Java Applet 源程序文件只定义有一个类,其类名为 MyApplet,则类MyApplet 必须是 Applet 类的子类
25.一个复杂的系统往往包含多个对象,这些对象间可能存在的关系有三种,它们是继承、聚合和关联。
26. 抽象方法是一种仅有方法头,没有具体方法体个操作实现的方法,该方法必须在抽象类中定义。
27. final 方法是不能被当前类的子类重新定义的。
28.Java 语言通过垃圾回收机制简化了程序的存管理。
29.在 Java 中有两种多态,一种是使用方法的重载实现多态,另一种是使用方法的重写实现多态。
30.由 protected 修饰的变量称为受保护变量,可被包和包外子类中访问。
31.抽象方法是指只有声明没有实现的方法,抽象方法只能出现在抽象类中。32..在 Java 类的层次结构中,最顶端的类是 Object ,它在 https://www.doczj.com/doc/7210105629.html,ng包中定义,
是所有类的始祖。
33.不能覆盖父类中的 final 方法和 private 方法。
34.创建子类对象实例时,系统可以自动调用父类的无参构造方法,初始化属性的数据。
35. 对于父类中的构造方法,系统不能自动调用它们,只能通过在子类构造方法中使用关键字 super 调用,其调用语句位置必须是方法中可执行语句的第一句。
36.创建一个名为 MyPackage 的包的语句是 package MyPackage; ,该语句应该放在程序的位置为:第一句。
37.Java 提供的异常处理机制包括两个过程捕获和处理。
38.在 Java 程序中,通过接口的定义可以实现多重继承关系。
39.顺序执行以下两条语句的输出结果是: 3 。String s=”市”;System.out.println(s.length());
40.字符串分为两大类,一类是字符串常量,使用 String 类的对象表示;另一类是字符串变量,使用 StringBuffer 类的对象表示。
41.创建一个标识有“关闭”按钮的语句是 JButton button=new JButton(“关闭”)。
42.Java 的组件主要在 JFrame 和 JPanel 中。
43.线程创建后,可以在任何时刻调用 set Priority 方法改变线程的优先级。
44.调用 stop 方法可以停止线程的运行。
45.applet 所在的页面被浏览和加载后,applet 就诞生了。当浏览器切换到别的页面时,它的 stop 方法被调用。
46.标签组件由 JLabel 类生成。
47.画矩形的方法是 drawRect 。
48.关键字 synchronized 的作用是同步。
49.wait()方法与 notify()或 notifyAll()方法只能用在同步方法中。
50.当线程对象被调度执行时自动调用 run 方法。
58.多态是指接口的多种不同的实现方式。
第三部分回答问题
1.上机编译编写的源程序,使用什么命令进行编译?源程序文件的扩展名是什么?Java 编译器产生的文件扩展名是什么?
2.上机解释执行编译好的程序,使用什么命令进行解释?Java 解释器解释的文件的扩展名是什么?
3.简述 Java 语言的主要特点。
4.Java 应用程序和 Java 小应用程序有何区别?
5.Java 能跨操作系统平台运行的原理是什么?
6.简述 Java 程序的框架结构。
7.float 和 double 型数据在赋值时有哪些注意事项?
8.float 和 double 型数据在赋值时有哪些注意事项?
9.Java 为什么把字符串定义为类?为什么定义了两个字符串类?
10.静态变量有何特点?如何存取静态变量?
11. 静态方法有何特点?静态方法存取成员变量时有何要求?
12.什么是抽象类、抽象方法?它们有什么特点?
13.类与对象有何关系?如何创建对象?
14.什么是类变量、成员变量、实例变量、局部变量?
15.什么是类的多态性?何为隐藏、覆盖、重载?