一、单选题(每题2分)。
1、( B )下面布尔变量定义中,正确并且规范的是:
A) BOOLEAN b_f=false; B) boolean b_f=false;
C) boolean B-F=false; D) boolean b_f=FALSE;
2、( D )阅读下列程序,程序的运行结果是:
public class Test1{
public static void main(String args[]){
System.out.print(3*4/2);
System.out.println(5/2);
}
}
A)6 B)6
2.5 2
C)62.5 D)62
3、( C )阅读下列程序,程序的运行结果是:
public class Ex6_2{
public static void main(String args[ ]){
String s1="hi";
String s2=new String("hi");
if(s1==s2)
System.out.println("s1==s2");
else if(s1.equals(s2))
System.out.println("s1与s2的内容相同");
}
}
A) hi B) s1==s2
C)s1与s2的内容相同 D)s1==s2
s1与s2的内容相同
4、( c ) 下面程序片段输出的是什么?
int a=3;
int b=1;
if(a=b)
System.out.println("a="+a);
A)a=1 B)a=3 c)编译错误,没有输出
D)正常运行,但没有输出
5、(A )以下关于构造函数的描述错误
..的是:
A、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
7、(B )Java编程所必须的默认引用包为:
A.java.sys包
https://www.sodocs.net/doc/688079053.html,ng包
C.java.new包
D.以上都不是
8、( B ) 阅读下列程序,程序的运行结果是:
public class Test2{
public static void main(String args[ ]){
int x=3,y=4,z=5;
String s="xyz";
System.out.println(s+x+y+z);
}
}
A)xyz12 B) xyz345
C)xyzxyz D)12xyz
9、( C )关于被私有访问控制符private修饰的成员变量,以下说法正确的是:
A 可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B 可以被两种类访问和引用:该类本身、该类的所有子类
C 只能被该类自身所访问和修改
D 只能被同一个包中的类访问
10、( D )下列类中属于字节输入抽象类的是:
A) FileInputStream B)ObjectInputStream
C) OutputStream D)InputStream
11、( B )下面程序输出什么?
public class J_3_1{
int m_data;
public static void main(String args[]){
System.out.println(m_data);
}
}
A)0 B)编译错误,没有输出
C) m_data D)正常运行,但没有输出
12、(A ) 对下面哪个类定义,可以通过“new J_Class()”生成J_Class的实例对象?
A.public class J_Class{}
B.public abstract class J_Class{
public J_Class(){}
}
C.public class J_Class{
public J_Class(String s){}
}
D.public class J_Class{
public void J_Class(){}
public J_Class(String s){}
}
13、( A ) 关于下面程序代码,哪个选项的结论是正确的?
public class J_3_49{
s tatic short m_index;
s tatic int m_age;
p ublic static void mb_setData(short n){
m_index=n;
}
p ublic static void mb_setData(int age){
m_age=age;
}
public static void main(String args[]){
mb_setData((short)98);
System.out.println("Index="+m_index+";Age="+m_age);
}
}
A.程序可以通过编译并正常运行,结果输出“Index=98;Age=0”
B.程序可以通过编译并正常运行,结果输出“Index=0;Age=98”
C.程序可以通过编译并正常运行,结果输出“Index=0;Age=0”
D.程序可以通过编译并正常运行,结果输出“Index=98;Age=98
14、( A )下列哪个类声明是正确的?
A public abstract class Car{···}
B abstract private move(){···}
C protected private number;
D abstract final class HI{···}
15、(D)有以下方法的定义,请选择该方法的返回类型。
ReturnType method(byte x, float y)
{
return (short)x/y*2;
}
A、byte
B、short
C、int
D、float
16.( D )下面程序编译运行的结果是什么?
public class J_3_66{
private int m_x;
public J_3_66(){
m_x=0;
}
public void mb_show(){
System.out.println("x="+m_x);
}
public static void main(String args[]){
J_3_66 a = null;
a.mb_show();
}
}
A.x=0
B.x=某一个随即数
C.x=m_x
D.无法通过编译
17. (A )关于下面程序,哪个结论是正确的?
public class J_3_71{
public static void main(String args[]){
int sum;
int i=0;
for (;i<10;i++)
sum+=i;
System.out.println("Sum(0.."+i+")="+sum);
}
}
A.程序无法通过编译
B.程序可以通过编译,但无法正常运行
C.运行程序可以输出“Sum(0..10)=45”
D.运行程序可以输出“Sum(0..9)=45”
18.( B )下面程序的输出结果是什么?
class J_3_72{
public static void main(String args[]){
int i=99;
mb_operate(i);
System.out.print(i+100);
}
static void mb_operate(int i)
{
i+=100;
}
}
A.99
B.199
C.299
D.99100
19.( B )下面的程序运行结果是?
class J4_18{
public static void main(String args[]) {
try{
System.out.print ("1");
}catch(Exception e2){
System.out.print ("3");
} finally{
System.out.print ("4");
}
System.out.print ("end!");
}
}
A.1end
B.14end
C.13end
D.end
20.( A ) 下面的程序运行结果是?
public class J4_8{
public static String m_s;
public static void main(String args[]){
String s1="1234";
String s2=s1;
s2+="5678";
s1.concat("5678");
System.out.println(s1+s2+m_s);
}
}
A.123412345678null
B.123412345678
C.12345678
D.1234567812345678
21.(C )假设在Java源程序文件“MyClass.java”中含有一个类,而这个类必须能被位于一个庞大的软件系统中的所有Java类访问到,那么下面哪个声明有可能是符合要求的类声明?
(A)private class MyClass extends Object
(B)public class myclass extends Object
(C)public class MyClass
(D) class MyClass extends Object
22.( A)关于下面的程序,哪个结论是正确的?
class J_Super{
public final void mb_method(){
System.out.print("1"); }}
public class J3_68 extends J_Super{
public final void mb_method(int i){
System.out.print(i); }
public static void main(String args[]){
J3_68 t=new J3_68();
t.mb_method();
t.mb_method(2); }}
(A)程序可以通过编译并运行,结果输出”12”
(B)程序无法通过编译,因为具有final属性的方法不能被覆盖
(C)程序无法通过编译,因为方法的调用有问题
(D)程序可以通过编译,但无法正常运行
23.( )接口J_Interface的定义如下,下面哪个类实现了该接口并不是抽象的?
interface J_Interface{
int mb_method(int data);
int mb_function(int index);
}
(A) class J_Class implements J_Interface{
int mb_method(){}
int mb_function(){}
}
(B) class J_Class extends J_Interface{
int mb_method(int data){}
int mb_function(int index){}
}
(C)
class J_Class extends J_Interface{
int mb_method(){}
int mb_function(){}
}
(D)
class J_Class implements J_Interface{
public int mb_method(int index){return 1;}
public int mb_function(int date){return 1;}
}
24.()已经声明了类“public class J_Test implements Runnable”,下面哪个语
句启动该类型的线程?
A)Thread t=new Thread(new J_Test()); t.start();
B) J_Test t=new J_Test(); t.start();
C) J_Test t=new J_Test(); t.run();
D) new J_Test.start();
25.()编译和运行下面代码正确的输出结果是:
class J_Class1{
public static void main(String args[]){
char []a1={'a','b'};
System.out.println(a1[1]);
}
}
A)程序无法通过编译 B)程序可以通过编译,但无法正常运行
C)a D)b
二、填空题(每空2分,共30分)
注意:答在答题纸上的答案要与试卷题号严格对应,否则不得分!
1.创建对象的一般格式为_【1】____。
2.引入包的关键词为:______【2】____________
3.一个线程从它建立到死亡要经历五种状态,它们分别是___【3】____、___【4】
________、____【5】运行________、____【6】阻塞____、___【7】_____;
4.列举三类顶层容器:___【8】_JFrame__、_____【9】____、____【10】
JDialog____;
5.接口java..awt.event.MouseMotionListener的方法mouseDragged的参数类型是:
___【11】MouseEvent______。
1、下面程序的输出结果是___【12】___。
public class J_3_29{
static int m_data=0;
public int mb_method(){
m_data++;
return m_data;
}
public static void main(String args[]){
J_3_29 a=new J_3_29();
J_3_29 b=new J_3_29();
J_3_29 c=new J_3_29();
a.mb_method();
b.mb_method();
c.mb_method();
int i =a.mb_method();
System.out.println(i);
}
}
2、请填写下面两处的空白使得下面的方法产生一个异常。
void mb_method()____【13】___{
___【14】___ new Exception ("Exception in mb_method()");
}
3. 下面的程序运行结果是_________【15】__________?class J4_20{
public static void main(String args[]) {
int i=0;
try{
for(i=0;i<10;i++)
try{
if(i%3==0)
throw new Exception();
System.out.print("1:"+i+",");
}
catch(Exception e1){
System.out.println("2:"+i+",");
i+=2;
if(i%3==2)
throw new Exception();
return;
}
finally{
i*=2;
System.out.println("3:"+i+",");
}
}catch(Exception e2) {
System.out.println("4:"+i+",");
}finally{
System.out.println("5:"+i+",");
}
System.out.println("end!");
}
}
4. 下面的程序片段被执行后,s1的值是__【16】1234___,s2的值是____【17】__,s3的值是____【18】12345678____;
String s1="1234";
String s2=s1.concat("5678");
String s3=s1+"5678";
5.在类https://www.sodocs.net/doc/688079053.html,ng.Thread的成员方法中,方法____【19】start()__用来启动线程,线程在程序执行时的代码被封装于方法____【20】run()_____中.
三、判断题(每题1分)。
1()使用extends关键字实现某一接口。
2()Java的字符类型采用的是ASCII编码。
3) 一个数组可以存放许多不同类型的值。
4()Java源程序是由类定义组成的,每个程序中只有一个类是主类,这个主类是指包含main方法的类。
5()Java是平台无关的面向对象的程序设计语言。
6()用final修饰的类可以扩展。
7()若一个方法用static修饰符修饰,则该方法不能处理类的非static域。
8()子类对象创建时,首先运行自己的构造方法,之后调用父类的构造方法。
9()要启动一个线程要调用https://www.sodocs.net/doc/688079053.html,ng.Thread的方法start.在运行完方法start之后,该线程就处于运行态.
四、编程(每题10分,共20分)。
1)定义具有继承关系的点类Point和圆类Circle(10分)
(1)Point类具有(x,y)坐标变量对;
(2)Circle类为Point类的子类,它本身包含半径域radius,求周长getPeri ()和求面积getArea()的方法;
(3)为Point类和Circle类添加构造方法;
(4)创建Circle类对象c,求半径为2的圆的周长和面积。