java面向对象企业面试题Word下载.docx
- 文档编号:19914052
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:11
- 大小:21.07KB
java面向对象企业面试题Word下载.docx
《java面向对象企业面试题Word下载.docx》由会员分享,可在线阅读,更多相关《java面向对象企业面试题Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
8、如何去小数点前两位,并四舍五入。
doubled=1256.22d;
d=d/100;
System.out.println(Math.round(d)*100);
9、如何取得年月日,小时分秒?
Calendarc=Calendar.getInstance();
c.set(Calendar.YEAR,2004);
c.set(Calendar.MONTH,0);
c.set(Calendar.DAY_OF_MONTH,31);
System.out.println(c.get(Calendar.YEAR)+"
"
+(c.get(Calendar.MONTH)+1)+"
+c.get(Calendar.DAY_OF_MONTH));
10、如何取得从1970年到现在的毫秒数
Java.util.Datedat=newDate();
longnow=dat.getTime();
11、如何获取某个日期是当月的最后一天?
当前日期加一天,若当前日期与结果的月份不相同,就是最后一天。
取下一个月的第一天,下一个月的第一天-1
publicstaticvoidmain(String[]args)
{
Calendarc=Calendar.getInstance();
c.set(Calendar.DAY_OF_MONTH,30);
Calendarc1=(Calendar)c.clone();
c.add(Calendar.DAY_OF_MONTH,1);
if(c.get(Calendar.MONTH)!
=c1.get(Calendar.MONTH))
{
System.out.println("
是最后一天"
);
}
else
不是取后一天"
}
12、如何格式化日期?
Importjava.text.SimpleDateFormat;
SimpleDateFormatsdf=newSimpleDateFormat("
yyyy-MM-ddhh:
mm:
ss"
Datedat=newDate();
//把日期转化为字符串
Stringstr=sdf.format(dat);
System.out.println(str);
//将字符串转化为日期
Java.util.Dated1=sdf.parse(“yyyy-mm-dd”);
13、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
Stringa=newString("
中"
.getBytes("
gb2312"
),"
iso-8859-1"
));
14、Strings=newString("
xyz"
创建了几个StringObject?
New了一个,”XYZ”本来又是一个
两个
15、float型floatf=3.4是否正确?
报错,应当是floatf=3.4f
如果是floatf=3(整数)正确
16、说出一些常用的类,包,接口,请各举5个
常用的类:
BufferedReaderBufferedWriterFileReaderFileWirterStringInteger
常用的包:
java.langjava.awtjava.iojava.utiljava.sqljavax.xmljavax.sevletjavax.ejb.javax.faces
常用的接口:
ListMapDocumentNodeListEjbObjectEjbHomeSessionBeanEntityBean
17、java中会存在内存泄漏吗,请简单描述。
会。
如:
inti,i2;
return(i-i2);
//wheni为足够大的正数,i2为足够大的负数。
结果会造成溢位,导致错误。
18、java中实现多态的机制是什么?
静态的多态:
方法名相同,参数个数或类型不相同。
(overloading)
动态的多态:
子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法
实现接口的实例传与接口的引用调用的实现类的方法。
19、垃圾回收器的基本原理是什么?
垃圾回收器可以马上回收内存吗?
有什么办法主动通知虚拟机进行垃圾回收?
动态内存
存放类实例
静态内存
类本身
垃圾收集主要针对的是动态内存,一般当内存不够用时会进行垃圾收集。
或通过System.gc()手动收集,但不保证一定执行。
20、静态变量和实例变量的区别?
statici=10;
//常量
classAa;
a.i=10;
//可变
静态方法可以调用静态变量。
实现方法可以调用静态变量、实例变量
21、是否可以从一个static方法内部发出对非static方法的调用?
不可以,如果其中包含对象的method();
不能保证对象初始化.
22、写clone()方法时,通常都有一行代码,是什么?
Clone有缺省行为,super.clone();
他负责产生正确大小的空间,并逐位复制。
23、JAVA语言如何进行异常处理,关键字:
throws,throw,try,catch,finally分别代表什么意义?
在try块中可以抛出异常吗?
Try:
执行部分,产生异常
Catch:
捕捉异常
Finally:
不管有没有异常都执行
Throws:
在方法声明处声明要抛出的异常,调用者必须对其进行处理。
Throw:
抛出一个异常
在try中可以抛出异常,一般与声明的异常相同。
自定义异常要继承于Exception或Exception的子类
25、冒泡排序法
//相邻两个数比较,将最小或最大的放到后面,最后面数的不参与比较
publicclassBubbleSort{
privatestaticintal[]=newint[10];
publicBubbleSort(){
al[0]=2;
al[1]=3;
al[2]=23;
al[3]=45;
al[4]=1;
al[5]=67;
al[6]=23;
al[7]=80;
al[8]=35;
al[9]=72;
}
publicstaticvoidmain(String[]args){
BubbleSortbs=newBubbleSort();
System.out.println("
排序前:
"
display(al);
for(inti=0;
i<
al.length;
i++){
for(intj=0;
j<
al.length-i-1;
j++){
if(al[j]>
al[j+1]){
swap(j,j+1);
}
}
System.out.println();
排序后:
privatestaticvoiddisplay(int[]al2){
for(inti=0;
i<
al2.length;
i++){
System.out.print(al2[i]+"
privatestaticvoidswap(inti,intj){
inttemp=al[i];
al[i]=al[j];
al[j]=temp;
}
26、StringandStringBuffer的区别?
String:
长度给定不可变,当多个字符串联合时要先转为StringBuffer,再联合,速度慢。
StringBuffer:
长度可变,可以将多个字符串值直接联合,效率高
27、用java代码编写堆栈
publicclassStack{
int[]data;
intmaxSize;
inttop;
publicStack(intmaxSize){
this.maxSize=maxSize;
data=newint[maxSize];
top=-1;
/**
*依次加入数据
*@paramdata要加入的数据
*@return添加是否成功
*/
publicbooleanpush(intdata){
if(top+1==maxSize){
栈已满!
returnfalse;
this.data[++top]=data;
returntrue;
*从栈中取出数据
*@return取出的数据
publicintpop()throwsException{
if(top==-1){
thrownewException("
栈已空!
returnthis.data[top--];
publicstaticvoidmain(String[]args)throwsException{
Stackstack=newStack(1000);
stack.push
(1);
stack.push
(2);
stack.push(3);
stack.push(4);
stack.push(5);
while(stack.top>
=0)
System.out.println(stack.pop());
}
28、集合的作用是什么?
数据的传送增、删、改、查、constainsAll,可以存放不同类型的对象。
29、集合的通用方法有那些?
通用方法是什么?
(操作)
集合List的遍历方法有:
Iterator:
Enumeration
For
Get
set
Collection的通用方法有:
Iterator()
Add()
Clear();
remove()
30、说出ArrayList,Vector,LinkedList的存储性能和特性HashMap和Hashtable的区别
ArrayListVector:
以数组的方式存储,增、删慢,查、改快
ArrayList:
线程不安全,速度快
Vector:
线程安全,速度慢(synchoronized)
LikedList:
以单链表的方式存储,增、删快,查、改慢
HashMap与Hashtable都实现的Map接口,HashTable线程安全,HashMap线程不安全。
31、Collection和Collections的区别。
Collection是集合的根接口,其下有set及list
Collections是集合的算法。
32、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
是用==还是equals()?
它们有何区别?
用contains来区分是否有重复的对象。
还是都不用。
在比较时先调用hashCode方法,如果不相同,证明不相等。
如果相同,再调用equals方法,如果equals方法相同,证明相等,不相同,证明不相等。
==:
主要用在基本数据类型及引用
Equals:
主要是对象或对象引用的比较。
集合中是否包含某一个元素用contains来判断。
33、List,Set,Map是否继承自Collection接口?
List,set继承于Collection
Map没有继承于Collection,其相对是独立的。
属于Collection类型的对象,可以通过构造函数将一个集合构造成另外一个集合。
34、面向对象的特征有哪些方面
1.抽象:
找共性,将共有的属性、方法放到父类中
2.继承:
子类继承于父类,具有父类的所有属性与方法,可以重用,也可以覆盖。
3.封装:
一个类包括多个属性及方法。
4.多态性:
动态:
静态:
35、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。
java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。
为了提高效率节省空间,我们应该用StringBuffer类
36、int和Integer有什么区别?
Int是基本数据类型,不是对象,占一个内存空间,没有方法。
与其同类的有long,char,doble
Integer是封装类,具有方法及属性。
与其同类的有Long,Double.Float
37、运行时异常与一般异常有何异同?
运行时异常:
javaJVM抛出的异常,代码中不用处理。
一般异常:
用户抛出的异常,如果用throws声明了,调用这个方法的代码必须对其处理。
38、&
和&
&
的区别?
&
:
与:
左边若为false右边还执行。
短路与,左边若为false右边不执行。
39、final,finally,finalize的区别?
final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
算符可以用来决定某对象的类是否实现了接口。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 企业 试题