一、单项选择题()
1、编译 Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名
为(
B..class
C.html
D..exe
)。
A.java
2、下面哪一项字符序列可以作为合法的标识符( )。
A.true
3、下列选项中,(
B.null
C.2018_year
)不属于 Java 语言的简单数据类型。
A.整数型 B.数组
C.字符型
D.浮点型
4、对于 int a[ ]=new int[3],下列叙述错误的是( )。
D.$2018year
A. a.length 的值是 3
C. a[0]的值是 0
B. a[1]的值是 1
D. a[a.length-1]的值等于 a[2]的值
5、用下列哪个代码替换程序标注的【代码】会导致编译错误?
A.m-->0 B.m++>0 C.m = 0 D.m>100&&true
public class E {
public static void main (String args[ ]) {
int m=10,n=0;
while(【代码】) {
n++;
}
}
}
6、以下关于继承的叙述正确的是( )。
A. 在 Java 中类不能多继承
B. 在 Java 中一个类只能实现一个接口
C. 在 Java 中一个类不能同时继承一个类和实现一个接口
D. 在 Java 中接口只能单一继承
7、对于下列 Cat 类,哪个叙述是错误的?(
)
A.Cat类只有 2 个构造方法,而且没有无参数的构造方法
B.Cat类有 4 个构造方法
C.Cat (int m)和 Cat (double m)是互为重载的构造方法
D.int Cat (int m)和 void Cat (double m) 是互为重载的非构造方法
class Cat {
Cat (int m){
}
Cat (double m){
}
int Cat (int m){
return 23;
}
void Cat (double m){
}}
8、下列叙述哪些是正确的(
A final 类可以有子类
C abstract类中可以有非abstract方法,但该方法不可以用final修饰
B abstract类中只能有abstract方法
)。
D 不可以同时用final和abstract修饰一个方法
9、假设 D 类有如下定义,设 d 是 D 类的一个实例对象,下列语句调用错误的是 (
)。
class D{
i;
int
static String
s;
void method1(){}
static void method2(){}}
A.d.method1();
C.D.method1();
B.D.method2();
D.System.out.println(d.i);
10、将下列( )哪个代码替换下列程序中的【代码】不会导致编译错误。
A.public int f(){return 100+M;}
B.int f(){return 100;}
C.public double f(){return 2.6;}。
D.public abstract int f();
interface Com {
int M = 200;
int f();
}
class ImpCom implements Com {
【代码】
}
11、下列哪一个叙述是正确的( )。
A.和接口有关的匿名类可以是抽象类。
B.和类有关的匿名类还可以额外地实现某个指定的接口。
C.和类有关的匿名类一定是该类的一个非抽象子类。
D.和接口有关的匿名类的类体中可以有static成员变量。
12、下列哪个叙述是错误的(
)。
A. "9dog".matches("\\ddog")的值是true。
B."12hello567".replaceAll("[123456789]+","@")返回的字符串是@hello@。
C.
D. "\\hello\n"是正确的字符串常量。
new Date(1000)对象含有的时间是公元后1000小时的时间
13、下面哪个事件监听器在Java中无事件适配器? (
)
A. MouseListener B. KeyListener
C. ActionListener D. WindowListener
14、下面的程序段创建了BuffereReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。
File构造函数中正确的路径和文件名的表示是( )。
file=new FileReader(f); in=new BuffereReader(file);
A ”1.txt ”
B ”d:\\my\\1”
C “d:\my\1.txt”
15、子类和父类不在同一个包时,可以继承到的成员变量和方法具有的权限是(
D ”d:\\my\\1.txt”
)。
A.public和 protected
C.public 和缺省的
B.public ,缺省的和protected
D.只有 public
16、下列哪种说法是正确的( )。
A. 班级是一个类
C. 班级和 14 级计科一班是继承关系
B. 15 级计科一班是一个类
D. 班级和 14 级计科一班没有关系
17、在 Java 中,负责对字节代码解释执行的是( )
A.垃圾回收器
C.编译器
B.虚拟机
D.多线程机制
18、在一个类中,下列哪种说法是不正确的( )。
A. 类方法只能处理类变量。
C. 类方法只能调用类方法
B. 实例方法可直接调用类方法和实例方法
D. 实例方法只能直接处理实例变量
19、下面关于变量说法哪个是错的?( )
A.实例变量是类的成员变量
B.实例变量用关键字 static 声明
C.在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化
20、指出下列哪个方法与方法 public void add(int a){}为不合理的重载方法。( )
A . public void add(int a,int b)
B . public void add(long a)
C . public int add(int a)
D . public void add(float a)
二、判断题(正确的划“√”,错误的划“×”,)
1、表达式3/6*5的计算结果是0。( )
2、面向对象的软件开发方法用方法把数据和基于数据的操作封装在一起。( )
3、import是类的容器,用来保存划分的类的空间。( )
4、构造方法只能用new在创建对象时调用,不能通过对象名调用。( )
5、super代表类的当前对象,利用super可以调用当前对象的成员。( )
6、类中必须覆盖接口中的所有方法,而且,都是友好的。( )
7、执行Integer.parseInt("12.9");会发生异常。( )
8、如果两个线程需要调用同一个同步方法,那么一个线程调用该同步方法时,另一个
线程根据当前CPU资源分配情况选择是否等待。( )
9、对于经常需要查找的数据,应当选用LinkedList来存储。( )
10、对于有监视器的JTextField文本框,如果该文本框处于活动状态(有输入焦点)时,
用户即使不输入文本,只要按回车(Enter)键也可以触发ActionEvent事件。(
)
三、多项选择题(每小题 3 分,3×3=9 分)
1、Java 语言的数据类型分基础数据类型和复合数据类型,下面的选项是复合数据类型
的是。( )
B 接口
C 类
sleep( )方法是Thread类的静态方法。
A String
D 数组
2、下面关于Java中线程的说法正确的是( )
A.调用sleep()方法可能抛出异常InterruptedException.
B.
C.调用Thread类的start( )方法可启动一个线程对象。
D.线程启动后执行的代码放在其run方法中。
3、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是。( )
A.内部类可以直接访问外部类的成员 B. 外部类也可以直接访问内部类的成员
C.外部类不能访问内部类的成员 D. 外部类可通过创建内部类的实例来访问内部类
四、填空题(每空 2 分,2×9=18 分)
的成员
Java 语言中提供的 GUI 功能主要由 java.awt 包和__________包中的类和接口实现。
1.
2. 接口中的成员只有静态常量和__________。
3. 能将显示空间分成很多层的布局管理器是__________。
4. 有一个类是所有类或者接口的父类,这个类的名称是__________。
5.
6. 已知有如下语句long[] a = {11,22,33,44};long[] b = {101,201,301,401,501};b = a; 请
__________类是OutputStream类的子类,用来处理以文件作为数据输出的数据流。
问b.length=__________ b[0]= __________ 。
7. 面向对象程序的特点有封装、__________和__________。
五、程序阅读题()
1. 仔细阅读下列程序,写出程序运行结果。
import java.util.*;
class GetToken {
String s[];
public String getToken(int index,String str) {
StringTokenizer fenxi = new StringTokenizer(str);
int number = fenxi.countTokens();
s = new String[number+1];
int k = 1;
while(fenxi.hasMoreTokens()) {
String temp=fenxi.nextToken();
s[k] = temp;
k++;
}
if(index<=number)
return s[index];
else
return null;
}
}
class E {
public static void main(String args[]) {
String str="We Love This Game";
GetToken token=new GetToken();
String s1 = token.getToken(2,str),
s2 = token.getToken(4,str);
System.out.println(s1+":"+s2);
}
}
2.仔细阅读下列程序,写出程序运行结果。
class B {
int x = 100,y = 200;
public void setX(int x) {
x = x; }
public void setY(int y) {
this.y = y; }
public int getXYSum() {
return x+y; }
}
public class A {
public static void main(String args[]) {
B b = new B();
b.setX(-100);
b.setY(-200);
System.out.println("sum="+b.getXYSum());
}
}
3. 仔细阅读下列程序,写出程序运行结果。
Import java.io.*
public class A{
public static void main(string args[])
{
}}
Subclass sb=new Subclass( );
System.out.println(sb.fun( ));
class Superclass{
int a=24,b=5;}
class Subclass extends Superclass
){ return a%b;}}
{ int fun(
4. 仔细阅读下列程序,写出程序运行结果。
interface Shape {
double area(double givenValue);
}
class Square implements Shape{
public double area(double sideLength) {
return sideLength*sideLength;
}
}
class Circle implements Shape{
public double area(double r) {
return Math.PI*r*r;
}
}
public class Test02 {
public static void main(String[] args) {
Shape square = new Square();
Shape circle = new Circle();
System.out.println(square.area(2));
System.out.println(circle.area(3));
}
}
六、编程题(第 1 小题 7 分,第 2 小题 7 分,共 14 分)
1、请定义一个名为 Card 的扑克牌类,该类有两个私有访问权限的字符串变量 face 和 suit,
分别描述一种牌面值(如:A,K,Q,J,10,9,…,3,2 等)和花色(“黑桃”,“红桃”,“梅花”,
“方块”)。定义 Card 类中的公共访问权限的构造方法,为类中的变量赋值。定义保护访
问权限的方法 getFace( ),得到扑克牌的牌面值。定义保护访问权限的方法 getSuit( ),得到扑
克牌的花色。定义方法 toString( ),返回表示扑克牌的花色和牌面值字符串(如“红毯 A”,
“梅花 10”等)
2、如应用程序 main 方法中,定义字符串数组 f 和 s:分别表示扑克牌的牌面值和花色,定义
52 个元素的 Card 类型数组 deck,用来存放 4 个花色的 52 张牌。如下所示。
String f[ ]={“A”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”,“J”,“Q”,“K”};
String s[ ]={“红桃”,“黑桃”,“方块”, “梅花”};
Card deck=new Card [52];
(1) 使用 Card 的构造方法给 deck 数组的 52 张牌赋值,要求数组中先存放黑桃 A,2,3…,K;
然后市红桃 A,2,3…,K;梅花花色 A,2,3…,K;方块花色 A,2,3…,K;
(2) 请编写模拟洗牌的完整程序,即把数组 deck 中的扑克牌随机打乱存放顺序。
一、单项选择题()
1-------5 BDBBC
11-----15 CCCDA
二、判断题()
6-------10 ABDCA
16-----20 ABDBC
1-------5
√ × × √ ×
6-------10 × √ ×
× √
三、多项选择题(每小题 3 分,3×3=9 分)
1.ABCD
2.ABCD
3.AD
四、填空题(每空 2 分,2×9=18 分)
1.javax.swing 2.抽象方法 3. CardLayout
5. FileOutputStream
7. 继承 多态
6. 4
11
4.Object
五、程序阅读题()
1. Love:Game
2.
sum=-100
3.4
4.4.0
28.26