:号学 :名姓 :级班《Java程序设计》课期末考试试卷
C、p.add(b,”South”); D、b.add(p,”North”);
7、main方法是Java Application程序执行的入口点,关于main方法的方法头(B卷)
以下哪项是合法的?
(注意:请将答案写到答题纸上,否则无效;答题纸与试卷分开上交)
A、 public static void main()
B、 public static void main(String[ ] args) C、 public static int main(String[ ] args) 一、判断正误,正确打“√”,错误打“×”(每题1分,共10分)
D、 public void main(String arg[ ])
1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。
8、定义一个接口必须使用的关键字是? 2、子类可以继承父类的私有成员。
A、public B、class C、interface D、static 3、对于类变量,可以通过类名直接访问,也可以通过该类的对象访问。 9、Java中char类型的数据在内存中占据的长度是?
4、一个抽象的类不能直接用new命令创建对象。
A、8位 B、16位 C、32位 D、不确定 5、一个子类中可以定义与父类中名字相同,而参数不同的方法,此时子类的10、关于以下程序段,正确的说法是?
方法会改写从父类继承来的方法。
String s1=”hello”; //行1 6、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。 String s2=new String(s1); //行2 7、构造方法的名字必须与类名相同。
if(s1= =s2) //行3 8、一个类的私有变量可以在同一个包的不同类中使用。 System.out.println(“s1= =s2 ”); //行4 9、final类不能派生子类,final方法不能被覆盖。
if (s1.equals(s2)) //行5 10、Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节 System.out.println(“s1 equals s2”); //行6 码文件。
A、行4与行6都将执行 B、行4执行,行6不执行 二、单项选选题(每题1分,共20分)
C、行6执行,行4不执行 D、行4、行6都不执行 11、以下哪个字符串不能做Java中的方法名?
1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );A、set B、out C、set Text D、get
则该方法属于?
12、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个A、本地方法 B、解态方法 C、最终方法 D、抽象方法 数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性2、以下哪个不是java的关键字?
称为?
A、System B、interface C、for D、else A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 3、定义一个类,必须使用的关键字是?
13、以下程序段执行后将有( )个字节被写入到文件afile.txt中。
A、public B、class C、interface D、static try{ 4、声明并创建一个按钮对象b,应该使用的语句是?
FileOutputStream fos=new FileOutputStream(“afile.txt”); A、Button b=new Button(); B、button b=new button(); DataOutputStream dos=new DataOutputStream(fos); C、Button b=new b(); D、b.setLabel(“确定”); dos.writeInt(3); 5、Panel对象默认的布局管理器是?
dos.writeDouble(0.01); A、FlowLayout B、BorderLayout C、CardLayout D、null
dos.close(); fos.close( ); 6、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b, } 应该使用的语句是? catch(IOException e) { } A、p.add(b); B、p.add(b,”North”);
A、16 B、12 C、8 D、2
第 1 页 共 7 页
:号学 :名姓 :级班14、以下代码段执行后的输出结果为?
A、public float aMethod(float a, float b,float c){ } int x=-3; float y=10.0f; System.out.println(y%x); B、public float aMethod(float c,float d){ }
A、不能成功编译 B、-1.0 C、1.0
D、-1
C、public int aMethod(int a, int b){ } 15、假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是D、private float aMethod(int a,int b,int c){ }
错误的?
public class Foo 18、编译运行以下程序后,关于输出结果的说明正确的是 ( )
{ int i;
public class Conditional{ static String s;
public static void main(String args[ ]){ void imethod() { }
int x=1; static void smethod() { } System.out.println(“value is “+ ((x<1)? 1.0 : 0)) ;
}
} }
A、Foo.imethod(); B、f.imethod();
A、输出结果为:value is 1.0 B、输出结果为:value is 0
C、System.out.println(f.i);
D、Foo.smethod()
C、输出结果为:value is 0.0
D、编译错误
16、分析下面的程序代码,以下哪个说法是正确的? public class Test extends A
19、以下哪个接口的定义是正确的?( )
A、{ public static void main(String[] args) { Test t=new Test(); B、{ interface abstract void print() A
interface { } ;} t.print(); } }
C、{ void print() ;} A abstract interface A class A { String s;
D、{ abstract void print(){ extends I1, I2 };} //I1、I2为已定义的接口 A(String s)
{ interface void print();} A
{ this.s=s; } public void print()
20、Java语言使用的字符码集是?
{ System.out.println(s); }
A)ASCII B)BCD C) }
DCB D)Unicode
A、因为Test没有构造方法Test(),所以这段程序不能编译。
B、如果删除A类中的构造方法,这个程序可以编译。
三、多项选选题(每题2分,共10分)
C、这段程序可以通过编译,但由于方法名冲突,引起一个运行时错误。 D、编译成功,运行情况良好。
1. 定义类头时可以使用的访问控制修饰符是( )。
17、类Test1定义如下:
A.public B. abstract C. private D. 默认的(没有访问控制修饰符)1.public class Test1{ 2. public float aMethod(float a, float b){ } 2. 定义主类的类头时可以使用的关键字是( )。
3. A. abstract B. final C. public D. super 4.}
3. 定义一个类Point,类中有两个double型变量x和y,对于其构造函数的将以下哪种方法插入行3是不合法的。( )
声明正确的是( )。
第 2 页 共 7 页
:号学 :名姓 :级班A. Point Point(int x){…} B. public Point (int x){…}
System.out.println(“three”); C. public Point(int x,int y){…} D. public Point(Point p){…}
else
4. 以下关于构造函数及其重载的说法正确的是( )。
System.out.println(“four”);
A. 类定义了构造函数,Java就不会自动为该类创建默认的不带参数的构3、以下程序的输出结果为___________。
造函数
public class Tom
B. 构造函数不能对私有变量初始化
{ private float weight; C. 一个类中可以含有几个构造函数,称为构造函数的重载。对于重载的构 private static String name; 造函数,其参数列表必须不同
public void setWeight(float weight)
D. 重载的构造函数之间可以通过关键字this在构造函数中的任意位置相{ this.weight=weight;
互调用
} 5. 以下关于类对象的使用,说法正确的是( )。
private void out()
A. 通过构造函数实例化一个类对象后,在类的外部,不管变量的访问修饰{ System.out.println (name+\体重:\斤\
符是私有的还是公有的,都可以通过”对象名.变量名”对变量进行访问
} B. 在类的外部调用类对象拥有的方法必须用”对象名.方法名()” public static void main(String[]args)
C. 同一个类的对象之间可以赋值,且它们分别代表不同的对象
{ Tom.name=\汤姆猫\
D. 类对象可以作为方法的参数,这时在方法体中可以引用对象的变量和调 Tom cat=new Tom(); 用对象的方法。
cat.setWeight(20); 四、程序阅读 ,分析运行结果(每题3分,共21分) cat.out(); }
1、以下程序的输出结果为________。 }
class A 4、以下程序的输出结果_______________。
{ int i;
public class Person
public A(int i)
{ String name;int age; { this.i=i; }
public Person(String s,int age)
public static void main(String[]args) { this.name=s;this.age=age;
{ A a=new A(12); } System.out.println (a.i); public void out()
}
{ System.out.println(name+\}
} 2、以下程序段的输出结果为________。 public static void main(String[]args)
int x=0,y=4, z=5; { Person p=new Person(\
if ( x>2) p.name=\ if (y<5) }
System.out.println(“one”); }
else 5、以下程序的输出结果为________。 System.out.println(“two”); public class Test
else if(z>5)
{
第 3 页 共 7 页