22秋学期(高起本1709-1803、全层次1809-2103)《Java语言程序设计》在线作业-00003
试卷总分:100 得分:100
一、单选题 (共 25 道试题,共 50 分)
1.定义一个类,必须使用的关键字是( )。
A.public
B.class
C.interface
D.static
2.设有下面的两个类定义: class aa{ void Show(){System.out.println("我喜欢Java!"); } class BB extends aa{ void Show(){System.out.println("我喜欢C++!"); } } 则顺序执行如下语句后输出结果为: aa a=new aa(); BB b=new BB(); a.Show(); b.Show();
A.我喜欢Java! 我喜欢C++!
B.我喜欢C++! 我喜欢Java!
C.我喜欢Java! 我喜欢Java!
D.我喜欢C++! 我喜欢C++!
3.执行如下程序代码a=0;c=0; do{ c--; a=a-1; }while(a>0); 后C的值是( )。
A.0
B.1
C.-1
D.死循环
4.String date="Today is Sunday";把date转换成全小写的语句是( )。
A.toLowerCase(date);
B.date.toLowerCase();
C.date.toUpperCase();
D.toUpperCase(date);
5.Java程序是由什么组成的( )。
A.类
B.对象
C.函数
D.包
6.编译Java application源程序文件将产生相应的字节码文件,这些字节文件的扩展名为
A..java
B..class
C..obj
D..exe
7.定义一个名为key的类,使之不能被继承,应选( )。
A.class key{ }
B.native class key{ }
C.class key{ final; }
D.final class key{ }
8.下面哪一项不是文件读写操作的步骤( )。
A.以某种读写方式打开文件
B.进行文件读写操作
C.保存文件
D.关闭文件
9.下列哪项不是Java标准库中FilterInputStream类的子类( )。
A.BufferedInputStream
B.DataInputStream
C.LineNumberInputStream
D.ImageInputStream
10.编译并且执行以下代码,会出现什么情况? public class Q{ public static void main(String argv[]){ int anar[]=new int[]{1,2,3}; System.out.println(anar[1]); } }
A.1
B.有错误,数组anar在初始化以前不能正常输出。
C.2
D.有错误,数组的大小没有定义。
11.关于以下程序段的说法正确的是 1. public class Myar{ 2. public static void main(String argv[]){ 3. int[]i=new int[5]; 4. System.out.println(i[5]); 5. } 6. }
A.第2行编译出错
B.第4行编译出错
C.编译时产生错误
D.编译时没有产生错误,运行时发生异常
12.在Java语言中,可以用来完成方法调用的方式是( )。
A.方法作为表达式中的一项出现在表达式中。
B.方法作为单独的一条语句。
C.方法作为另一个方法调用的实际参数出现。
D.以上方法均可以。
13.下列哪个是面向大型企业级用容器管理专用构件的应用平台( )。
A.J2EE
B.J2ME
C.J2SE
D.J2DE
14.下列方法头中哪一个不与其它方法形成重载(overload)关系?( )
A.void mmm( )
B.void mmm(int i)
C.void mmm(String s)
D.int mm( )
15.与Java应用程序(Application)不同,Java Applet程序的运行,需要得到( )的支持。
A.操作系统
B.客户端浏览器
C.记事本(Notepad)软件
D.数据库服务器
16.switch 语句不能用于下列哪种数据类型?
A.double
B.byte
C.short
D.char
17.设有定义语句int a[3],则下列对此语句的叙述中错误的是( )。
A.定义了一个名为a的一维数组
B.a数组有3个元素
C.a数组元素的下标为1~3
D.数组a中的每一个元素都是整型
18.下列代码中,将引起一个编译错误的行是()。 1)public class Test{ 2) int m,n; 3) public Test(){} 4) public Test(int a){m=a;} 5) public static void main(String args[]){ 6) Test t1,t2; 7) int j,k; 8) j=0;k=0; 9) t1=new Test(); 10) t2=new Test(j,k); 11) } 12) }
A.第3行
B.第5行
C.第6行
D.第10行
19.以下程序的功能是:求n!。请在下列程序中填入正确的语句 class FactorialTest{ static long Factorial(int n){ if(n==1) return 1; else _______________} public static void main(String a[]){ int n=8; System.out.println(n+"!="+Factorial(n));} }
A.return n*Factorial(n);
B.return (n-1)*Factorial(n);
C.return n*Factorial(n-1);
D.return (n-1)*Factorial(n-1);
20.编译Java application源程序文件将产生相应的字节码文件,这些字节文件的扩展名为
A..java
B..class
C..obj
D..exe
21.定义一个类名为“MyClass.java”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( )
A.private class MyClass extends Object
B.class MyClass extends Object
C.public class MyClass
D.private class MyClass extends Obj
22.StringBuffer append(char[ ],int int1,int int2)表示( A)。
A.向一个字符串追加字符数组,范围从数组的索引int1开始,到索引int2结束
B.向一个字符串追加字符数组,范围从数组的索引int1开始,到索引int2-1结束
C.向一个字符串追加字符数组,范围从数组的索引int1开始,长度为int2
D.向一个字符串追加字符数组,范围从数组的索引int1开始,长度为int2-1
23.定义一个类名为MyClass的类,并且该类可被所有类访问,那么该类的正确声明应为()。
A.private class MyClass extends Object
B.class MyClass extends Object
C.public class MyClass
D.protected class MyClass extends Object
24.在 Java 中,表示换行符的转义字符是()。
A.\n
B.\f
C.'n'
D.\dd
25.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?
A.private
B.无修饰符
C.public
D.protected
二、多选题 (共 10 道试题,共 20 分)
26.关于RandomAccessFile类,下列哪些是正确的( )。
A.支持文件的随机存取,即存取任意位置的数据
B.区别对待二进制文件和字符文件
C.使用者需要清楚文件中各数据的长度和位置
D.操作方式比通过Stream类的方式要强大
27.按Java语言的规定,以下不正确的说法是( )。
A.实参不可以是常量,变量或表达式。
B.形参不可以是常量,变量或表达式。
C.实参与其对应的形参占用同一个存储单元。
D.形参是虚拟的,不占用存储单元。
28.下列变量定义合法的是 ( )。
A.boolean flag=false;
B.int k=1+'k';
C.char ch="c";
D.float r=1/2;
29.以下关于继承的叙述错误的是( )。
A.在Java中类只允许单一继承
B.在Java中一个类只能实现一个接口
C.在Java中一个类不能同时继承一个类和实现一个接口
D.在Java中接口只允许单一继承
30.在Java中,关于封装性的说法中,正确的是( )。
A.是一种信息隐蔽技术
B.使对象之间不可相互作用
C.是受保护的内部实现
D.与类有关,封装的基本单位是对象
31.下列关于面向对象的论述中,不正确的是( )。
A.面向对象是指以对象为中心,分析、设计和实现应用程序的机制
B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制
C.面向对象仅适用于程序设计阶段
D.面向对象是一种程序设计语言
32.关于字符串比较,下列叙述哪个是不正确的( )。
A.比较字符串是否完全相同不能用==
B.equals()和equalsIgnoreCase()的作用完全一致
C.equalsIgnoreCase()表示如果两个字符串完全相同则返回true,否则返回false
D.String date1,date2;则比较二者是否相同的语句是data1=equals(data2);
33.关于局部变量的作用域,下列说法正确的是( )。
A.主方法中定义的变量只能在主方法中使用,不能在其他方法中使用。
B.形参变量是属于被调方法的局部变量,而实参变量一般是属于主调方法的局部变量。
C.不允许在不同的方法中使用相同的变量名。
D.在复合语句中也可以定义变量,其作用域只在复合语句范围内。
34.下列JAVA语句中,正确是( )。
A.int $e,a,b =10;
B.char c,d ='a';
C.float e=0.0d;
D.double e=0.0f;
35.关于Java Application和Applet的说法中,不正确的是( )。
A.都包含main()方法
B.都通过“appletviewer”命令执行
C.都通过“javac”命令编译
D.都嵌入在HTML文件中执行
三、判断题 (共 15 道试题,共 30 分)
36.Java?类可以作为类型定义机制和数据封装机制
37.Java有两类程序:Java Application和Java Applet,其中Java Applet程序由嵌入到浏览器中的解释器解释运行。
38.抽象方法的body部分必须用一对大括号{?}包住
39.在创建对象是必须先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象
40.形式参数不可以是对象
41.实例方法可直接调用其他类的实例方法
42.内存回收程序负责释放无用内存
43.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
44.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。
45.在Java中%是取余运算符,要求两端操作数为整型。
46.Java的各种数据类型所占用的内存长度与具体软硬件环境有关
47.封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
48.如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的
49.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的
50.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为覆盖。
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777