JavaSE面试题.docx
- 文档编号:20969128
- 上传时间:2023-04-25
- 格式:DOCX
- 页数:21
- 大小:22.88KB
JavaSE面试题.docx
《JavaSE面试题.docx》由会员分享,可在线阅读,更多相关《JavaSE面试题.docx(21页珍藏版)》请在冰豆网上搜索。
JavaSE面试题
1.下面那几个函数是publicvoidmethod(){...}的重载函数
A)publicvoidmethod(intm){...}B)publicintmethod(){...}
C)publicvoidmethod2(){...}D)publicintmethod(intm,floatf){...}
AD
2关于下面的说法哪些是正确的:
A)一旦一个线程被创建,它就立即开始运行。
B)使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运
行。
C)当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D)一个线程可能因为不同的原因停止并进入可运行状态
答案:
c
3:
classTest{
privateintm;
publicstaticvoidfun(){
,newTest().m..
4:
以下哪个方法用于定义线程的执行体
A)start()B)init()C)run()D)main()E)synchronized()
答案:
c
5:
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
(arr[1]);
}
}
哪个选项是正确的
A.编译时将产生错误;
B.编译时正确,运行时将产生错误;
C.输出0;
D.输出空
答案:
c
6:
运算符>>和>>>是做什么用的
答案.>>执行有符号右移,>>>执行无符号右移
7:
下列关于栈结构的叙述正确的是
A栈是非线性结构B栈是一种树状结构
C栈具有先进先出的特征D栈具有后进先出的特征
答案:
D
8:
字符(char)的整型表示范围byte呢int呢long呢
答案
byte为-128~127,占用1个字节(-2的7次方到2的7次方-1)
short为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
int为(-48~47),占用4个字节(-2的31次方到2的31次方-1)
long为(-808~807),占用8个字节(-2的63次方到2的63次方-1)
9:
String是否是java中的基本数据类型java中都有哪些基本数据类型
String不是基本数据类型,
八个基本数据类型是char,int,double,float,byte,long,short,boolean,
对应八个包装类是Character,Integer,Double,Float,Byte,Long,Short,Boolean
10:
A.intk=newString(“aa”);
B.Stringstr=String(“bb”);
C.charc=74;
D.longj=8888;
上述表达式正确的是哪些
CD
11:
下述代码的执行结果是
classSuper{
publicintgetLength(){return4;}
}
publicclassSubextendsSuper{
publiclonggetLength(){return5;}
publicstaticvoidmain(String[]args){
Supersooper=newSuper();
Supersub=newSub();
“,”+());
}
}
A.4,4
B.4,5
C.5,4
D.5,5
E.代码不能被编译
答案:
Eswitch不能够作用在String类型上
B.List,Set,Map都继承自Collection接口
C.Java语言支持goto语句
D.GC是垃圾收集器,程序员不用担心内存管理
答案:
d
13:
指出下列程序运行的结果
publicclassExample{
Stringstr=newString("good");
char[]ch={'a','b','c'};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
;
"and");
}
publicvoidchange(Stringstr,charch[]){
str="testok";
ch[0]='g';
}
}
Agoodandabc
Bgoodandgbc
Ctestokandabc
Dtestokandgbc
答案:
b
int[][]myArray=newint[][]{newint[]{5,6,2},newint[]{6,9,7,8,3},newint[]{3,2}};
myArray[2][2]的值是()
A.9
B.2
C.6
D.越界
答案D越界
15、关于异常(Exception),下列描述正确的是(多选)
A.异常的基类为Exception,所有异常都必须直接或者间接继承它
B.异常可以用try{...}catch(Exceptione){...}来捕获并进行处理
C.如果某异常继承RuntimeException,则该异常可以不被声明异常可以随便处理,而不是抛给外层的程序进行处理
答:
ABC
16:
声明一个委托publicintmyCallBack(intx);则用该委托产生的回调方
法的原型应该是
A.voidmyCallBack(intx)
B.intreceive(intnum)
C.Stringreceive(intx)
D.不确定的
答:
B
17:
三种字符串判空串方法:
1:
boolisEmpty=()==0);
2:
boolisEmpty=(str==;
3:
boolisEmpty=(str=="");
哪种方法正确
A.1
B.2
C.3
答:
A
18:
Strings=newString(“hello”);
Stringt=newString(“hello”);
charc[]={h,e,l,l,o};
下列哪些表达式返回true
A.(t);
B.(c);
C.s==t;
D.(newString(“hello”));
E.t==c;
答:
AD
19:
类Teacher和Student是类Person的子类;
Teachert;
Students;
if(tinstanceofPerson){s=(Student)t;}
最后一条语句的结果是:
A.将构造一个Student对象;
B.表达式是合法的;
C.表达式是错误的;
D.编译时正确,但运行时错误。
答:
D
20给定下列代码:
publicvoidtest(){
try{
oneMethod();
“condition1”);
}catch(ArrayIndexOutOfBoundsExceptione){
2”);
}catch(Exceptione){
3”);
}finally{
}
oneMethod正常运行,将显示
A.condition1
B.condition2
C.condition3
D.finally
答:
AD
21请选出下面两个类间关系描述错误的项
a.publicinterfaceA{}
publicclassBextendsA{}
b.publicinterfaceA{}
publicinterfaceBextendsA{}
c.publicinterfaceA{}
publicclassBimplementsA{}
d.publicclassA{}
publicclassB{protectedAa;}
答:
A
22下列创建数组的方法正确的是
A)inttwoDim[][]=newint[4][];
B)inttwoDim[][]=newint[][4];
C)inttwoDim[][]=newint[4][5];
D)chara[]={‘A’,‘B’};
E)charc[]=“ABC”;
答:
ACD
23:
publicclassXextendsThreadimplementsRunnable{
publicvoidrun(){
"thisisrun()");
}
publicstaticvoidmain(Stringargs[]){
Threadt=newThread(newX());
();
}
}
A第一行会产生编译错误
B第六行会产生编译错误
C第六行会产生运行错误
D程序会运行和启动
答:
D
24:
根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否
会引起死锁
publicvoidtest(inti)
{
lock(this){
if(i>10){
i--;
test(i);
}
}
}
A.会锁死
B.不会锁死
答:
B
25:
欲构造ArrayList类得一个实例,此类实现了List接口,下列哪个方法是正
确的:
AArrayListmyList=newObject();
BListmyList=newArrayList();
CArraylListmyList=newList();
DListmyList=newList();
答:
B
26:
Java网络程序设计中,下列正确的描述是(多选)
A.Java网络编程API建立在Socket基础之上
B.Java网络接口只支持TCP以及其上层协议
C.Java网络接口只支持UDP以及其上层协议
D.Java网络接口支持IP以上的所有高层协议
答:
AD
27:
JavaI/O程序设计中,下列描述正确的是
A.OutputStream用于写操作
B.InputStream用于写操作
C.I/O库不支持对文件可读可写API
答:
A
28:
选出对于XML的评论正确的选项___
A.XML是一种语言无关平台无关的自描述语言。
B.标签实际上包含了元素和属性两部分。
用元素来描述有规律的数据,用属性
来描述系统数据。
C.XML不可跨平台,不具备扩展性。
文档中的每一个元素都处在一个名字空间中;如果没有指定的名字空间,
缺省的名字空间就是和该元素相关联的名字空间。
答:
AD
29:
说说下面语句是否有错误,或可能出现的缺陷,并指出错误,或缺陷在哪
里
publicclassMyFileimplementsRunnable{
publicvoidrun(){
while(true){
try{
FileReaderfr=newFileReader(newFile(""));
Stringline=();
err){
}
Sleep(1000);}
}
答:
没有这个方法
(1000)需要用(1000);
3.没有关闭FileReader
4.死循环,没有退出的可能
30:
判断下列语句是否正确,如果有错误,请指出错误所在
List
(5);
答:
错误,5的默认类型为int。
31:
classBubbleSort{
publicstaticvoidmain(String[]args)
{
int[]arr={8,4,2,3,5};
arr=sort(arr);
for(inta:
arr)
{
"\t");
}
}
publicstaticint[]sort(int[]array){
intcnt;
intn=;
do{
cnt=0;
for(inti=1;i { if(array[i] { inttemp=array[i]; array[i]=array[i-1]; array[i-1]=temp; cnt++; } } n--; }while(cnt! =0); returnarray; } }冒泡排序,选择排序...重点掌握 32: publicclassWorkerThreadextendsThread{ privateStringmessage; publicWorkerThread(Stringmessage){ =message; } publicvoidrun(){ staticvoidmain(String[]args){ newWorkerThread("helloworld! ").start(); } } 33、在web应用开发过程中经常遇到输出某种编码的字符,如从GBK到iso8859-1 等,如何输出一个某种编码的字符串 答: publicstaticStringtranslate(Stringstr){ StringtempStr=""; try{ tempStr=newString("GBK"),"ISO-8859-1"); tempStr=(); }catch(Exceptione){ tempStr; } 34: publicclassSingleton{ privateSingletonsin=newSingleton(); privateSingleton(){ } publicstaticSingletoninit(){ returnsin; } } 35: 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节 截取的字符串。 但是要保证汉字不被截半个,如"我ABC",4,应该截为"我AB", 输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 答: classSplitString { publicstaticStringsplit(Stringstr,intnum) { byte[]strs=(); if(strs[num-1]<0) { num=num-1; } byte[]news=newbyte[num]; (strs,0,news,0,num); returnnewString(news); } publicstaticvoidmain(String[]args) { Stringstr=split("我ABC",4); str2=split("我ABC走DEF",6); } .} 上面面的代码,如果你用“&”替换“&&”将发生什么错误 答: 会抛出空指针异常;&&会短路,只要遇到boolean值为false就不会再往后 执行了;而&则是会把两边的运算都执行完。 注: 这个题略坑,经常报nullException不过有时候要用到这个东西。 40: abstractclass和interface有什么区别 想插一句有人用过@interface嘛 声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用 于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现 该类的情况。 不能创建abstract类的实例。 然而可以创建一个变量,其类型是 一个抽象类,并让它指向具体子类的一个实例。 不能有抽象构造函数或抽象静态 方法。 Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也 是抽象类为。 取而代之,在子类中实现该方法。 知道其行为的其它类可以在类中 实现这些方法。 接口(interface)是抽象类的变体。 新型多继承性可通过实现 这样的接口而获得。 接口中的所有方法都是抽象的,所有成员变量都是public staticfinal的。 一个类可以实现多个接口,当类实现接口时,必须实现接口 的所有方法。 抽象类在Java语言中表示的是一种单继承的关系,而接口表示的 是多继承的关系;抽象类中可以定义自己的成员变量,也可以包含非抽象的方法, 而在接口中只能有静态的常量,所有方法必须是抽象的;实现抽象类时可以只实 现其中的部分方法,而要是实现一个接口的话就必须实现这个接口中的所有抽象 方法。 41: 谈谈final,finally,finalize的区别 答: final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派 生出新的子类,不能作为父类被继承。 因此一个类不能既被声明为abstract的 ,又被声明为final的。 将变量或方法声明为final,可以保证它们在使用中不 被改变。 被声明为final的变量必须在声明时给定初值,而在以后的引用中只 能读取,不可修改。 被声明为final的方法也同样只能使用,不能重载 finally—再异常处理时提供finally块来执行任何清除操作。 如果抛出一个 异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块( 如果有的话) finalize—方法名。 Java技术允许使用finalize()方法在垃圾收集器将对 象从内存中清除出去之前做必要的清理工作。 这个方法是由垃圾收集器在确定 这个对象没有被引用时对这个对象调用的。 它是在Object类中定义的,因此 所有的类都继承了它。 子类覆盖finalize()方法以整理系统资源或者执行其 他清理工作。 finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 42: hasa,isa关系: hasa: publicclassA{ privateBb=newB(); } classB{} isa: publicinterfaceA{ } publicclassBimplimentsA{ } 43Math类自己下去看API把...太多了。 44: java语言中public、private、protected三个关键字的用法,重写和重载 的区别。 答: 作用域当前类同包子类默认 public√√√√ protected√√√× default√√×× private√××× 45: 说一下“==”和equals()方法在字串变量操作中的不同 答: ”==”比较的是两个字符串对象的地址, equals()是比较的两个字符串的具体值。 46: 异常机制中try{}后一定要跟catch和finally吗 答: 一定要有catch或者finally,catch子句紧跟在try块后面,用来指定你 想要捕捉的“异常”的类型。 如果有catch的话,可以没有finally。 47: 能用foreach遍历访问的对象需要实现 答: 需要实现Iterable接口 48: 说出一些JDK常用的类,包,接口,Exception请各举5个 类: HashSet、Thread、String、FileInputStream、Class 包: 、、、、 接口: Collection、Set、List、Comparable、Serializable Exception: ArithmeticException,ArrayStoreException,BufferOverflowException,BufferUnderflowException,CannotRedoException,CannotUndoException,ClassCastException,CMMException,ConcurrentModificationException,DOMException,EmptyStackException,IllegalArgumentException,IllegalMonitorStateException,IllegalPathStateException,IllegalStateException,ImagingOpException,IndexOutOfBoundsException,MissingResourceException,NegativeArraySizeException,NoSuchElementException,NullPointerException,ProfileDataException,ProviderException,RasterFormatException,SecurityException,SystemException,UndeclaredThrowableException,UnmodifiableSetException,UnsupportedOperationException 49: AnonymousInnerClass(匿名内部类)是否可以extends(继承)其它类,是 否可以implements(实现)interface(接口) 答: 匿名内部类是可以继承其它类,同样也可以去实现接口的,用法为: JButtonbutton=newJButton(); (newActionListener() { publicvoidactionPerformed(ActionEvente){.} }); 这样的用法在swing编程中是经常使用的,就是因为它需要用到注册监听器 机制,而该监听类如果只服务于一个组件,那么,将该类设置成内部类/匿名类是 最方便的。 注: 着名的监听者模式 50: 接口是否可继承接口抽象类是否可实现接口抽象类是否可继承实体 类 答: 接口是可以继承接口的并且可以继承多个其它接口;抽象类可以实现接口中 的方法;抽象类可以继承实体类。 注: 想当架构师的,这个一定要搞得非常清楚,反射也要搞清楚。 51: 构造器Constructor是否可以被继承是否可以被Ov
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaSE 试题