新版JAVA面试题目.docx
- 文档编号:3139296
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:35
- 大小:40.21KB
新版JAVA面试题目.docx
《新版JAVA面试题目.docx》由会员分享,可在线阅读,更多相关《新版JAVA面试题目.docx(35页珍藏版)》请在冰豆网上搜索。
新版JAVA面试题目
详解笔试面试题集
(1)下列各题ABCD四个选顼中,只有一个选项是正确的,请将正确选项填写在答题纸上
(1)下列关于栈的描述中错误的是(B)
A.栈是先进后出的线性表
B栈只能顺序存储
C栈具有记忆作用
D对栈的插入弓删除操作中,不需要改变栈底指针
正确答案:
B
分析:
栈是链式存储的
(2)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()
A冒泡排序为n/2
B冒泡排序为n
C快速排序为n
D快速排序为n(n-l)/2
正确答案:
D
分析:
想想快速排序,每次都会选取线性表的轴值,随后以此轴值划分为两个子线性表再分别进行快排,在最坏情况下,也就是说每次选出的线性表轴值完全不能将这个线性表划分为两个子线性表。
那么此时快速排序退化为冒泡排序了。
那么第一趟排序时,轴值(线性表的中间位置)被选出,这个值绝对是这个线性表中最大的(不然也不能是最坏情况),其他值都比他小,那么线性表现在分为完全不对等的两段(一段是0,另一段是n-1),一段是这个值,一段是其他值。
同样第二趟排序在刚才剩下的值中选中间值(剩余值中最大的那个),又分为不对等两段,依次递推。
也就是说每次都比较了N-1个元素(轴值选出后都与它比较大小),那么肯定是比较了n-1次(如第一次先挑了个轴值,然后剩下n-1比较),n代表当前子线性表中元素个数
由此最白痴的数列问题出现了,如下
1+2+3+..........+n-2+n-1=n(n-1)/2
还有一种投机取巧的方法,在最垃圾情况下既然快排变为冒泡,那由时间复杂度知其必为o(n^2)的复杂度,答案中ABC都是线性时间复杂,显然错误
(3)下列对于线性链表的描述中正确的是()
A存储空间间不一定是连续,且各元素的存储顺序是任意的
B存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C存储定间必须连续,且前件元素一定存储在后件元素的前面
D存储空间必须连续,且各元素的存储顺序是任意的
答案是A,分析链接存储并不要求存储空间连续,存储位置也不用有序
(4)为了使模块爆可能独立,要求()
A模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
f
答案:
B
分析:
高内聚,低耦合。
5)下列叙述中,正确的是()
AJava语言的标识符是区分大小写的
B源文件名与public类名可以不相同
C源文件扩展名为.jar
D源文件中public类的数目不限
答案:
A
6)下列属于合法的Java标识符是()
A_cat
B5books
C+static
D-3.14159
答案:
A
7)在Java中,表示换行符的转义字符是()
A\n
B\f
C‘n’
D\dd
答案:
A
(8)扯Java中,所有类的根类是()
A.java.lang.Object
B.java.lang.Class
C.java.applet.Applet
D.java.awt.Frame
答案:
A
(9).在Java+中,用Package语句说明一个包时,该包的层次结构必须是()
A与文件的结构相同
B与文件目录的层次相同
C与文件类型相同
D与文件大小相同
答案:
A
(10)在读字符文件Employee.dat时,使用该文件作为参数的类是()。
ABufferReader
BDatalnputStream
CDataOutoutStream
DFileInputStream
答案:
D
(11)在Java中,能实现多重继承效果的方式是()。
A内部类
B适配器
C接口
D同步
答案:
C
(12)char类型的取值范围是()。
A2-7~27-1
B0~216-1
C-215~215—1
D0~28-1
答案:
A
(13)下列方法中可以用来创建一个新线程的是()。
A实现java.lang.Runnable接口并重写start0方法
B实现java.iang.Runnable接口并重写run0方法
C继承java.lang.Thread类并重写run0方法
D继承java.lang.Thread类并重写start0方法
答案:
C
(14)下列关于线程优先级的说法中,正确的是()。
A.线程的优先级是不能改变的
B.线程的优先级是在创建线程时设置的
C.在创建线程后的任何时候都可以设置
D.B和C
答案:
C
(15)下列代码中,将引起一个编译错误的行是()。
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;)
5)publicstaticvoidmain(Stringargs0){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
A.第3行
B.第5行
C.第6行
D.第10行
答案:
D
(16)阅读下列代码后
publicclassPerson{
intarr[]=newint[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[l]);
}
)
正确的说法是()。
A编译时将产生错误
B编译时正确,运行时将产生错误
C输出零
D输出空
答案:
A
(17)AIDL支持以下哪种数据类型?
l)string2)list3)map4)Allnativejavadatatype(){,
A.1,2和3
B.4
C.以上所有
D.都不支持
答案:
C
分析:
AIDL服务只支持有限的数据类型,如果用AIDL服务传递一些复杂的数据就需要做更一步处理,AIDL服务支持的数据类型如下:
1.Java的原生类型
2.String和CharSequence
3.List和Map,List和Map对象的元素必须是AIDL支持的数据类型;
以上三种类型都不需要导入(import)
4.AIDL自动生成的接口
需要导入(import)
5.实现android.os.Parcelable接口的类. 需要导入(import)。
二、多项选择题
下列各题A.、B.、C.、D.四个选项中,有一个或多个选项是正确的,
(l)下列说法正确的有()。
A.环境变量可在编译sourcecode时指定.
B.在编译程序时,所能指定的环境变盛不包括classpath
C.javac-次可同时编译数个Java源文件
D.javac.exe能指定编译结果要置于哪个目录(directory)
答案:
BCD
(2)不能用来修饰interface的有()
A.privateB.publicC.protectedD.static
答案:
ACD
(3)下列说法错误的有()
A.在类方法中可用this来调用本类的类方法
B。
在类方法中调用本类的类方法时可直接调用
C.在类方法中只能调用本类中的类方法
D.在类方法中绝对不能调用实例方法
答案:
ACD
请将正确选项填写在答题纸上
(4)下列说法错误的有()
A.Java面向对象语言容许单独的过程与函数存在
B.Java面向对象语言容许单独的方法存在
C.Java语亩中的方法属于类中的成员(member)
D.Java语言中的方法必定隶属于某…类(对象),调用方法与过程或函数相同
答案:
ABC
(5)下列说法错误的有()。
A.能被java.exe成功运行的javaclass文件必须有main()方法
B.J2SDK就是JavaAPI
C.Appletviewer.exe可利用jar选项运行Jar文件
D.能被Appletviewer成功运行的javaclass文件必须有main()方法
答案:
BCD
三、判断题
请将每空的正确答案写在答题纸上,答在试卷上不得分。
(1)Java程序中的起始类名称必须与存放该类的文件名相同。
(对)
(2)Unicode是用16位来表示一个字的。
(对)
(3)原生类中的数据类型均可任意转换。
(对)
三、填空题
请将每空的正确答案写在答题纸上【l】至【25】序号的横线上,答在试卷上不得分。
(l)某二叉树中度为2的结点有18个,则该二叉树中有【1】19个叶子结点。
二叉树的终端结点(叶子结点)数等于双分支结点数加1。
(2)在面向对象方法中,类的实例称为【2】对象
(3)诊断和改正程序中错误的工作通常称为【3】Debug
(4)在关系数据库中,把数据表示成二维表,每一个二维表称为【4】关系
(5)Java源文件中最多只能有一个【5】public类,其他类的个数不限。
(6)线程在生命周期中要经历5中状态,分别是新建状态(准备)、可运行状态(就绪)、运行状态(运行)。
【6】暂停(阻塞)状态和终止状态(死亡)。
(7)FileInputStream是字节流;BufferedWriter是字符流,ObjectOutputStream是【7】
对象序列化流
(8)当使用Threadt=newThread(r)创建一个线程时,表达式rinstanceofThread的值为【8】false。
rinstanceOfRunnable
1.抽象类和接口的区别?
抽象类:
1)抽象方法,只有行为的概念,没有具体的行为实现。
使用abstract关键字修饰,没有方法体。
子类必须重写这些抽象方法。
2)包含抽象方法的类,一定是抽象类。
3)抽象类只能被继承,一个类只能继承一个抽象类。
接口:
1)全部的方法都是抽象方法,属型都是常量
2)不能实例化,可以定义变量。
3)接口变量可以引用具体实现类的实例
4)接口只能被实现,一个具体类实现接口,必须实现全部的抽象方法
5)接口之间可以多实现
6)一个具体类可以实现多个接口,实现多继承现象
2.列举你所知道的线程同步的方法:
1)wait():
让线程等待。
将线程存储到一个线程池中。
2)notify():
唤醒被等待的线程。
通常都唤醒线程池中的第一个。
让被唤醒的线程处于临时阻塞状态。
3)notifyAll():
唤醒所有的等待线程。
将线程池中的所有线程都唤醒。
3.equals()方法和“==”操作符的区别是什么?
重写equals()方法的时候,我们还需要重写哪些方法?
为什么?
“==”比较的是一个对象在内存中的地址值,栈中的内容是否相同
equals()是针对引用的,比较的是引用类型的内容一样不一样,堆中的内容是否相同
重写equals()方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 新版 JAVA 面试 题目