版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2024年Java笔试题含答案
Java笔试题含答案1
一、选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。)
1.以下属于面向对象的特征的是(C,D)。(两项)
A)重载
B)重写
C)封装
D)继承
2.以下代码运行输出是(C)
publicclassPerson{
privateStringname="Person";
intage=0;
)
publicclassChildextendsPerson{
publicStringgrade;
publicstaticvoidmain(String[]args){
Personp=newChildQ;
System.out.println();
)
)
A)输出:Person
B)没有输出
C)编译出错
D)运行出错
3.在使用super和this关键字时,以下描述正确的是(A)
A)在子类构造方法中使用super。显示调用父类的构造方法,super。必须写在子类构造方
法的第一行,否则编译不通过
B)super。和this()不一定要放在构造方法内第一行
C)this。和super。可以同时出现在一个构造函数中
D)this。和super。可以在static环境中使用,包括static方法和static语句块
4.以下对封装的描述正确的是(D)
A)只能对一个类中的方法进行封装,不能对属性进行封装,
B)如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
C)封装的意义不大,因此在编码时尽量不要使用
D)封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
5.以下对继承的描述错误的是(A)
A)Java中的继承允许一个子类继承多个父类
B)父类更具有通用性,子类更具体
C)Java中的继承存在着传递性
D)当实例化子类时会递归调用父类中的构造方法
6.以下程序的运行结果是(D)
classPerson{
publicPerson(){
System.out.println("thisisaPerson");
)
)
publicclassTeacherextendsPerson{
privateStringname="tom";
publicTeacher(){
System.out.println("thisisateacher");
super();
)
publicstaticvoidmain(String[]args){
Teacherteacher=newTeacher();
System.out.println();
)
)
A)thisisaPerson
thisisateacher
tom
B)thisisateacher
thisisaPerson
tom
C)运行出错
D)编译有两处错误
7.以下说法错误的是()
A)super.方法()可以调用父类的所有非私有方法
B)super。可以调用父类的所有非私有构造函数
C)super.属性可以调用父类的所有非私有属性
D)this和super关键字可以出现在同一个构造函数中
8.以下关于final关键字说法错误的是(A,C)(两项)
A)final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B)final修饰的类肯定不能被继承
C)final修饰的方法不能被重载
D)final修饰的变量不允许被再次赋值
9.访问修饰符作用范围由大到小是(D)
A)private-default-protected-public
B)public-default-protected-private
C)private-protected-default-public
D)public-protected-default-private
10.以下(D)不是Object类的方法
A)clone()
B)finalize()
C)toStringO
D)hasNextO
11.多态的表现形式有(A)
A)重写
B)抽象
C)继承
D)封装
12.以下对重载描述错误的是(B)
A)方法重载只能发生在一个类的内部
B)构造方法不能重载
C)重载要求方法名相同,参数列表不同
D)方法的返回值类型不是区分方法重载的条件
13.以下(D)添加到ComputerBook中不会出错
classBook{
protectedintgetPrice(){
return30;
)
)
publicclassComputerBookextendsBook{
)
A)protectedfloatgetPrice(){}
B)protectedintgetPrice(intpage){}
C)intgetPrice(){}
D)publicintgetPrice(){return10;}
14.以下对抽象类的描述正确的是(C)
A)抽象类没有构造方法
B)抽象类必须提供抽象方法
C)有抽象方法的类一定是抽象类
D)抽象类可以通过new关键字直接实例化
15.以下对接口描述错误的有(D)
A)接口没有提供构造方法
B)接口中的方法默认使用public、abstract修饰
C)接口中的属性默认使用public、static、final修饰
D)接口不允许多继承
16.以下代码,描述正确的有(A)
interfaceIDemo{
publicstaticfinalStringname;1
voidprint();2
publicvoidgetlnfoO;3
)
abstractclassPersonimplementsIDemo{4
publicvoidprint(){
)
)
A)第1行错误,没有给变量赋值
B)第2行错误,方法没有修饰符
C)第4行错误,没有实现接口的全部方法
D)第3行错误,没有方法的实现
17.接口和抽象类描述正确的有(B,C)(两项)
A)抽象类没有构造函数
B)接口没有构造函数
C)抽象类不允许多继承
D)接口中的方法可以有方法体
18.以下描述错误的有(C)
A)abstract可以修饰类、接口、方法
B)abstract修饰的类主要用于被继承
C)abstract可以修饰变量
D)abstract修饰的类,其子类也可以是abstract修饰的
19.以下描述正确的有(B)
A)方法的重写应用在一个类的内部
B)方法的重载与返回值类型无关
C)构造方法不能重载
D)构造方法可以重写
20.以下程序运行结果是(A)
publicclassTestextendsFather{
privateStringname="test";
publicstaticvoidmain(String[]args){
Testtest=newTest();
System.out.println(test.getNameO);
)
)
classFather{
privateStringname="father";
publicStringgetName(){
returnname;
)
)
A)father
B)test
C)编译出错
D)运行出错,无输出
21.以下对异常的‘描述不正确的有(C)
A)异常分为Error和Exception
B)Throwable是所有异常类的父类
C)Exception是所有异常类父类
D)Exception包括RuntimeException和RuntimeException之外的异常
22.在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)
A)catch
B)try
C)throws
D)throw
23.下面代码运行结果是(B)
publicclassDemo{
publicintadd(inta,intb){
try(
returna+b;
}catch(Exceptione){
System.out.println("catch语句块”);
}finally{
System.out.println("finally语句块”);
)
return0;
)
publicstaticvoidmain(String[]args){
Demodemo=newDemo();
System.out.println("和是:"+demo.add(9,34));
)
)
A)编译异常
B)finally语句块和是:43
C)和是:43finally语句块
D)catch语句块和是:43
24.以下描述不正确的有(D)
A)try块不可以省略
B)可以使用多重catch块
C)finally块可以省略
D)catch块和finally块可以同时省略
25.以下对自定义异常描述正确的是(C)
A)自定义异常必须继承Exception
B)自定义异常可以继承自Error
C)自定义异常可以更加明确定位异常出错的位置和给出详细出错信息
D)程序中已经提供了丰富的异常类,使用自定义异常没有意义
26.以下程序运行结果是(D)
publicclassTest{
publicintdiv(inta,intb){
try(
returna/b;
}catch(Exceptione){
System.out.println("Exception");
}catch(NullPointerExceptione){
System.out.println(wArithmeticExceptionw);
)
catch(ArithmeticExceptione){
System.out.println("ArithmeticException");
}finally{
System.out.println("finally");
)
return0;
)
publicstaticvoidmain(String[]args){
Testdemo=newTest();
System.out.println("商是:"+demo.div(9,0));
)
)
A)Exceptionfinally商是:0
B)ArithmeticExceptionfinally商是:0
C)finally商是:0
D)编译报错
27.以下对TCP和UDP描述正确的是(D)
A)TCP不能提供数据的可靠性
B)UDP能够保证数据库的可靠性
C)TCP数据传输效率高于UDP
D)UDP数据传输效率高于TCP
28.在Java中,下面对于构造函数的描述正确的是(D)。(选择一项)
A)类必须显示定义构造函数
B)构造函数的返回类型是void
C)构造函数和类有相同的名称,并且不能带任何参数
D)一个类可以定义多个构造函数
29.根据下面的代码,
Strings=null;
会抛出NullPointerException异常的有(A,C)。[两项]
A)if((s!=null)(s.length()>O))
B)if((s!=null)(s.length()>O))
C)if((s==null)|(s.length()==0))
D)if((s==null)||(s.length()==0))
30.在Java中,关于HashM叩类的描述,以下廉洁错误的是(B)。
A)HashMap使用键/值得形式保存数据
B)HashMap能够保证其中元素的顺序
C)HashMap允许将null用作键
D)HashM叩允许将null用作值
31.下列选项中关于java中super关键字的说法错误的是(B)
A)super关键字是在子类对象内部指代其父类对象的引用
B)super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C)子类可以通过super关键字调用父类的方法
D)子类可以通过super关键字调用父类的属性
32.在Java中,以下代码(A证确地创建了一个InputStreamReader对象。
A)InuptStreamReader(newFileInputStream("l.dat"));
B)InuptStreamReader(newFileReader(/zl.datM));
C)InuptStreamReader(newBufferReader("l.dat"));
D)InuptStreamReader();
33.在Java中,(D)类提供定位本地文件系统,对文件或目录及其属性进行基本操作。
A)FilelnputStream
B)FileReader
C)FileWriter
D)File
34.Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类描述错
误的是(C)(选择一项)
A)ArrayList和LinkedList均实现了List接口
B)ArrayList的访问速度比LinkedList快
C)添加和删除元素时,ArrayList的表现更佳
D)HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
35.在Java中开发JDBC应用程序时,使用DriverManager类的getConnection()方法
建立与数据源的连接语句为:
Connectioncon=DriverManager.getConnection(,,jdbc:odbc:news,z);
URL连接中的"news"表示的是(C)(选择一项)
A)数据库中表的名称
B)数据库服务器的机器名
C)数据源的名称
D)用户名
36.在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在(B)包
中。
A)java.lang
B)java.sql
C)java.util
D)java.math
37.Java中,以下(B)接口以键一值对的方式存储对象。
A)java.util.Collection
B)java.util.Map
C)java.util.List
D)java.util.Set
38.以下关于对象序列化描述正确的是(C,D)[两项]
A)使用FileOutputStream可以将对象进行传输
B)使用PrintWriter可以将对象进行传输
C)使用ObjectOutputStream类完成对象存储,使用Objectinputstream类完成对象读
取
D)对象序列化的所属类需要实现Serializable接口
39.在Java中,(A)类可用于创建链表数据结构的对象。
A)LinkedList
B)ArrayList
C)Collection
D)HashMap
40.分析下面这段Java代码,它的运行结果是(C)。
importjava.io.*;
publicclassB{
publicstaticvoidmain(string[]args){
inti=12;
System.out.println(i+=i-=i*=i);
)
)
A)100
B)0
C)-120
D)程序无法编译
41.使用JDBC事务的步骤是(C,A,B,D)侈选)
A)取消Connection的事务自动提交方式
B)发生异常回滚事务
C)获取Connection对象
D)操作完毕提交事务
42.以下对JDBC事务描述错误的是(B)
A)JDBC事务属于JAVA事务的一种
B)JDBC事务属于容器事务类型
C)JDBC事务可以保证操作的完整性和一致性
D)JDBC事务是由Connection发起的,并由Connection控制
43.要通过可滚动的结果集更新数据,以下正确的是(A
A)pst=con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_SENSmVE,ResultSet.CONCUR_UPDATABLE)
B)pst=con.prepareStatement(sql,
ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY)
C)pst=con.prepareStatement(sql,ResuItSet.TYPE_SCROLL_SENSITIVE)
D)pst=con.prepareStatement(sql,ResultSet.CONCUR_UPDATABLE)
44.存储过程pro有两个参数,第一个为输入参数,第二个为输出参数,以下代码正确的
是(C)
A)CallableStatementcst=con.prepareCall("(callpro(?,?))w);
B)CallableStatementcst=con.prepareCall("(callpro(?))");
n
C)CallableStatementcst=con.prepareCall("{callpro(?z?)});
D)CallableStatementcst=con.prepareCall("{callpro(???)}");
45.以下描述正确的是(B)
A)CallableStatementPreparedStatement的父接口
B)PreparedStatement是CallableStatement的父接口
C)CallableStatement是Statement的子接口
D)PreparedStatement是Statement的父接口
46.要删除book表中书籍(bookName)是"java"的记录,以下代码正确的是(A)
Stringsql=HfrombookwherebookName=?M;
PreparedStatementpst=con.preparedStatement(sql);
pst.executeO;
A)pst.setString(l//javaH);
B)pst.setStringCO/1java");
C)pst.setInt(O/zjava");
D)以上选项都不正确
47.获取ResutlSet对象rst的第一行数据,以下正确的是(B)
A)rst.hashNextQ;
B)rst.next();
C)rst.first();
D)rst.nextRow();
48.以下可以正确获取结果集的有(AD)(多选)
A)Statementsta=con.createStatement();
ResultSetrst=sta.executeQuery("select*frombook");
B)Statementsta=con.createStatement("select*frombook");
ResultSetrst=sta.executeQuery();
C)PreparedStatementpst=con.preparedStatement();
ResultSetrst=pst.executeQuery("select*frombook");
D)PreparedStatementpst=con.preparedStatement("select*frombook");
ResultSetrst=pst.executeQueryO;
49.以下负责建立与数据库连接的是(D)
A)Statement
B)PreparedStatement
C)ResultSet
D)DriverManager
50.使用JDBC连接数据库的顺序是(B,A,D,C,E)(多选)
A)加载驱动
B)导入驱动包
C)发送并处理SQL语句
D)建立于数据库的连接
E关闭连接
二、简答题(各5分,共25分)
1、在java中如果声明一个类为final,表示什么意思?(不计分)
答:final是最终的意思,final可用于定义变量、方法和类但含义不同,声明为final的类
不能被继承。
L父类的构造方法是否可以被子类覆盖(重写)?
答:父类的构造方法不可以被子类覆盖,因为父类和子类的类名是不可能一样的。
2、请讲述String和StringBuffer的区别。
答:String类所定义的对象是用于存放"长度固定"的字符串。
StringBuffer类所定义的对象是用于存放"长度可变动"的字符串。
3、如果有两个类A、B(注意不是接口),你想同时使用这两个类的功能,那么你会如何编写
这个C类呢?
答:因为类A、B不是接口,所以是不可以直接继承的,但可以将A、B类定义成父子类,
那么C类就能实现A、B类的功能了。假如A为B的父类,B为C的父类,此时C就能实现A、
B的功能。
4、分析sleep。和wait。方法的区别。
答:sleep睡眠的意思:sleepO方法用来暂时中止执行的线程。在睡眠后,线程将进入就
绪状态。
wait等待的意思:如果调用了wait()方法,线程将处于等待状态。用于在两个或多个线程
并发运行时。
5、谈谈你对抽象类和接口的理解。
答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象
类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用
extends来继承。
接口:一个接口允许一个类从几个接口继承而来,Java程序一次只能继承一个类但可以实
现几个接口,接口不能有任1可具体的方法,接口也可用来定义可由类使用的一组常量。其实现方
式是interface来实现。
Java笔试题含答案2
选择题
1).下面()是合法的标识符。
A.$persons
B.2Users
C.*point
D.this
正确答案:A
答案解析:本题考查Java标识符的命名,属于考试重点内容,应该掌握。Java中标识符
的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写
的;标识符的字符数没有限制。由此可见,Java中标识符不能以数字开头,所以选项B错误;不
能以"*"开头,选项C错误;this是专用标识符,具有专门的意义和用途,选项D错误,只有
选项A正确。
2).设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查
找法查找与给定值k相等的元素,I:匕较的次数分别是s和b,在查找不成功情况下s和b的关系
是()。
A.s=b
B.s>b
C.s
D.s>=b
正确答案:B
答案解析:顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点
的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束
后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要
求线性表是有序表。基本思想是:首先将待直的k值和有序表R[0]~R[n-1]的中间位置mid
上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mid].key>k,则说明待查找
的结点只可能在左子表R[0]~R[mid-1]中,我们只需在左子表中继续进行折半查找,若R[mi
d].key
3).定义一个表示10个值为null的字符串数组,下面选项正确的是()。
A.String[]a;
B.Stringa[];
C.chara[10][];
D.Stringa[]=newString[10];
正确答案:D
答案解析:本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来
定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项C是一个二维的'字符数组,
在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在Java中,字符char
是基本类型,字符串String则是以对象的形式来表示的;选项D正确,它定义了一个含有10个
元素的字符串数组,如果没有给字符串数组赋值,则默认为null.
4).Thread类中能运行线程的方法是()。
A.resume()
B.startQ
C.run()
D.initO
正确答案:C
答案解析:resume。是Thread类提供的用于线程控制的方法;start。是Thread类中的方法,
新建的线程不会自动运行,必须调用线程的start。方法才能运行该线程;run()是Thread类中的
方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run()方法开始执行的,
就像Java应用程序从main。开始、Applet从init(班始一样;init()不是Thread类中的方法。
5).在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送
A.调用语句
B.命令
C.口令
D消息
正确答案:D
6).下列的()原始类型在使用流时可以互换。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
正确答案:B
答案解析:本题考查Java语言中字节类型的概念。在Java语言中,byte是字节类型,用
1字节表示.boolean是布尔类型,用true和false表示,它们的表示方法并不一样,也不提供
它们之间的转换,选项A错误。Java内部用整数来表示char,通常可以在方法调用和其他语句
中互换使用char和int,选项B正确。char用2字节表示,byte字节类型用I字节表示,Java
内部也不允许互换使用它们,选项C错误。String在Java语言中是一个类,它提供对字符串的
一系列操作,而char是Java语言中的一个基本类型,它不是一个类,两者有本质的区别,故
而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言中提供的类都是以大写字
母开头,基本类型都用小写字母表示。
7).下列说法中,不属于数据模型所描述的内容是()。
A.数据结构
B.数据操作
C.数据第旬
D.数据约束
正确答案:C
答案解析:数据模型所描述的内容包括三个部分
Java笔试题含答案3
1).applet的运行过程要经历4个步骤,其中哪个不是运行步骤?
A.浏览器加载指定URL中的HTML文件
B.浏览器显示HTML文件
C.浏览器加载HTML文件中指定的applet类
D.浏览器中的Java运行环境运行该applet
正确答案:B
2).二维数组A[0,…,8][0,…,9],其每个元素占2字节。从首地址400开始,按行优
先顺序存储,则元素A[8][5]的存储地址为()。
A.570
B.506
C.410
D.482
正确答案:A
答案解析:A[8][5]元素存储的位置在第9行第6歹II,所以A[8][5]之前存储的个数应为
8x10+5=85,这些元素占用的空间为85x2字节=170字节,所以A[8][5]的存储位置为
400+170=570。
3).用于生产过程控制的系统,一般都是(),它要求有对输入数据及时做出响应的,能力。
A.批处理系统
B.分时系统
C.实时系统
D.及时系统
正确答案:C
答案解析:用于生产过程控制的系统,一般都是实时系统,它要求有对输入数据及时做出反
应(响应)的能力。由于环境和控制对象以及工作任务的不同,控制系统对计算机系统的要求也会
不同,一般会对计算机系统的可靠性、封闭性、抗干扰性等指标提出要求。
4).Java语言的许多特点中,下列哪个特点是C++语言所不具备的?
A.高性能
B.跨平台
C.面向对象
D.有类库
正确答案:B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度戏曲演出票房分成合同3篇
- 2024年度中国神华泰康存款合同规范本2篇
- 2024年河堤土地开发利用合同
- 2024年度保密协议书范本:保密协议的法律效力3篇
- 2024年度物业管理安全保卫工作细化协议3篇
- 2024年度企业人力资源风险管理与防范合同3篇
- 2024版二手车交易及翻新改造合同3篇
- 2024年度股权转让协议(含VestingSchedule和股权激励)3篇
- 2024年建筑工程协议管理风险与应对措施解析版B版
- 2024年实验室建设与实验设施租赁及维护合同3篇
- 【MOOC】大学摄影-河南理工大学 中国大学慕课MOOC答案
- 执纪审查业务专题培训
- 音乐著作权授权合同模板
- 《铁路轨道维护》课件-钢轨钻孔作业
- 信息安全意识培训课件
- Python试题库(附参考答案)
- 道法第二单元 成长的时空 单元测试 2024-2025学年统编版道德与法治七年级上册
- MOOC 理解马克思-南京大学 中国大学慕课答案
- 海洋的前世今生智慧树知到期末考试答案2024年
- 预算与预算法课件
- 用友银企联云服务ppt课件
评论
0/150
提交评论