java程序员面试题目大集合
JAVA程序员面试题目大集合
37,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 会执行,在
return前执行。
38,编程题: 用最有效率的方法算出2乘以8等於几? 有C背景的程序员特别喜欢问这种问题。 2 << 3
39,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。
40,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容
可以在被调用的方法中改变,但对象的引用是永远不会改变的。
41,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。
4、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。答:一种分页方法 <%
int i=1; int numPages=14; String pages =
Parameter("page") ; int currentPage = 1;
currentPage=(pages==null)?(1):{Integer.parseInt(pages)} sql = "select count(*) from tables"; ResultSet rs = uteQuery(sql) ; ()) i = rs.getInt(1) ; int intPageCount=1;
intPageCount=(i%numPages==0)?(i/numPages):(i/numPages+1); int nextPage ; int upPag
e; nextPage = currentPage+1; if
(nextPage>=intPageCount) nextPage=intPageCount; upPage = currentPage-1; if (upPage<=1) upPage=1; rs.close(); sql="select * from tables"; uteQuery(sql); i=0; while((i<numpages*(currentpage-1))&&()){i++;} %="" bdsfid="112"> //输出内容 //输出翻页连接合</numpages*(currentpage-1))&&()){i++;}>
计:<%=currentPage%>/<%=intPageCount%>第一页上一页 <% for(int
j=1;j<=intPageCount;j++){ if(currentPage!=j){
%> [<%=j%>]
<% }else{ out.println(j); } } %>
下一页<a< bdsfid="122" p=""></a<>
href="List.jsp?page=<%=intPageCount%>">最后页
49、列出某文件夹下的所有文件;
50、调用系统命令实现删除文件的操作;
51、实现从文件中一次读出一个字符的操作;
52、列出一些控制流程的方法;
54、编写了一个服务器端的程序实现在客户端输入字符然后在控制台上显示,直到输入"END"为止,让你写出客户端的程序;
55、作用域public,private,protected,以及不写时的区别答:区别如下:
作用域当前类同一package 子孙类其他package public √√√√protected √√√ friendly √√
private √不写时默认为friendly
56、ArrayList和Vector的区别,HashMap和Hashtable的区别
答:就ArrayList与Vector主要从二方面来说. 一.同步性:Vector是线程安
java面试题及答案2020
全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
57、char型变量中能不能存贮一个中文汉字?为什么?
答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
58、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 答:多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notify
60、float型float f=3.4是否正确? 答:不正确。精度不准确,应该用强制类型转换,如下所示:fl
oat f=(float)3.4
61、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? 答:Collection FrameWork如下: Collection ├List │├LinkedList │├ArrayList │└Vector │└Stack
└Set Map ├Hashtable ├HashMap └WeakHashMap Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements) Map提供key到value的映射
6、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)?如在COLLECTION框架中,实现比较要实现什么样的接口?
答:用插入法进行排序代码如下 package test; import java.util.*; class InsertSort { ArrayList al; public InsertSort(int num,int mod) { al = new ArrayList(num); Random rand = new Random();
System.out.println("The ArrayList Sort Before:"); for (int
i=0;i<="" ;i++="" al.add(new="" bdsfid="146" integer(math.int())="" mod="" p="" {="">
System.out.println("al["+i+"]="+al.get(i)); } } public void SortIt() { Integer tempInt; int MaxSize=1; for(int i=1;i<al.size();i++)< bdsfid="148" p=""></al.size();i++)<>
{ tempInt = (ve(i);
if(tempInt.intValue()>=(((MaxSize-1)).intValue())
{ al.add(MaxSize,tempInt); MaxSize++;
System.out.String()); } else { for (int
j=0;j<="" p="" {="">
((((j)).intValue()>=tempInt.intValue())
{ al.add(j,tempInt); MaxSize++; System.out.String()); break; } } } } System.out.println("The ArrayList Sort After:");
for(int i=0;i<al.size();i++)< bdsfid="158" p=""></al.size();i++)<>
{ System.out.println("al["+i+"]="+al.get(i)); } } public static void main(String[] args)
{ InsertSort is = new InsertSort(10,100); is.SortIt(); } } JAVA类实
现序例化的方法是实现java.io.Serializable接口 Collection框架中实现比较要实现Comparable 接口和 Comparator 接口
7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
答:代码如下: package test; class SplitString { String SplitStr; int SplitByte; public SplitString(String str,int bytes) { SplitStr=str; SplitByte=bytes; System.out.println("The String is:′

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。