JavaSE面试题.docx

上传人:b****5 文档编号:8571278 上传时间:2023-01-31 格式:DOCX 页数:17 大小:22.95KB
下载 相关 举报
JavaSE面试题.docx_第1页
第1页 / 共17页
JavaSE面试题.docx_第2页
第2页 / 共17页
JavaSE面试题.docx_第3页
第3页 / 共17页
JavaSE面试题.docx_第4页
第4页 / 共17页
JavaSE面试题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

JavaSE面试题.docx

《JavaSE面试题.docx》由会员分享,可在线阅读,更多相关《JavaSE面试题.docx(17页珍藏版)》请在冰豆网上搜索。

JavaSE面试题.docx

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:

判断下列语句是否正确,如果有错误,请指出错误所在

Lista=newArrayList();

(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是否可以被

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1