java实习生面试技巧
【篇一:实习生java面试题集及详细答案】
1.java有那些基本数据类型,string是不是基本数据类型,他们有何区别。
java语言提供了八种基本类型:
六种数字类型(四个整数型,两个浮点型)
字节型byte 8位 短整型short 16位 整型int 32位
长整型long 64位 单精度float 32位 双精度double 64位
一种字符类型
字符型char 8位
还有一种布尔型
布尔型:boolean 8位 可存储true和false。
string本身就是一个对象而不是基本数据类型,string的变量名是对string类的引用。
2.字符串的操作:
写一个方法,实现字符串的反转,如:输入abc,输出cba
public static string reverse(string s){
int length=s.length();
stringbuffer result=new stringbuffer(length);
for(int i=length-1;i=0;i--)
result.append(s.charat(i));
string();
}
写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。  string s = bbbwlirbbb;
s.replaceall(wlirbbb,hhtccc);
3.数据类型之间的转换
如何将数值型字符转换为数字(integer,double)
使用integer.parseint()和double.parsedouble()方法。
如何将数字转换为字符
class my
{
int a=12;
label label=new label();
label.settext(string.valueof(a));
}
如何取小数点前两位,并四舍五入。
system.out.println(四舍五入取整:(3.856)=
+ new bigdecimal(i).setscale(2, und_half_up));
4.日期和时间
如何取得年月日,小时分秒
date dat=new date();
ar(); th(); day(); hours(); inutes(); seconds();
如何取得从1970年到现在的毫秒数
long ime();
如何获取某个日期是当月的最后一天
dateformate instance();df.format(dat);
如何格式化日期
dateformate instance();
df.format(dat);
5.数组和集合
数组与集合的区别:一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。三:数组是一种可读/可写数据结构没有办法创建一个只读数组。然而可以使用集合提供的readonly方只读方式来使用集合。该方法将返回一个集合的只读版本。
6.文件和目录(i/o)操作
如何列出某个目录下的所有文件
如何列出某个目录下的所有子目录
判断一个文件或目录是否存在
如何读写文件
import java.io.bufferedreader;
import java.io.file;
import java.io.fileinputstream;
import java.io.filereader;
import java.io.filewriter;
import java.io.ioexception;
import java.io.inputstreamreader;
import java.io.printwriter;
public class fileopreate {
  public static void main(string [] args)
{
fileopreate fo=new fileopreate();
try
{
  //文件的写入
/*string[] teststr=new string[50];
for(int i=0;iteststr.length;i++)
{
teststr[i]=我的测试数据00+i;
}
fo.writefile(d:\,,teststr);
*/
  //文件的写入
/*string str=测试;
fo.writefile(d:\,,str);*/
  //创建或者删除文件
/*ateanddeletefile(d:\,))
{
fo.createanddeletefile(d:\,);
}*/
  //创建或者删除文件夹
/*fo.createanddeletefolder(d:\,2009-07-06);*/
  //输出一个文件内的文件名称
/*fo.readfolderbyfile(d:\);*/
  //判断一个文件是否是空的
/*fo.fileisnull(d:\,);*/
  //读取全部的文件内容
/*fo.readallfile(d:\,);*/
  //一行一行读取文件内容
fo.readlinefile(d:\,);
}
catch(exception e)
{
java集合排序怎么实现 e.printstacktrace();
}
  }
7.java多态的实现(继承、重载、覆盖)
多态可分为:
1)编译多态:主要是体现在重载,系统在编译时就能确定调用重载函数的哪个版本。
2)运行多态:主要体现在oo设计的继承性上,子类的对象也是父类的对象,即上溯造型,所以子类对象可以作为父类对象使用,父类的对象变量可以指向子类对象。因此通过一个父类
发出的方法调用可能执行的是方法在父类中的实现,也可能是某个子类中的实现,它是由运行时刻具体的对象类型决定的。
8.编码转换,怎样实现将gb2312编码的字符串转换为iso-8859-1编码的字符串。
string str = new string(字符串.getbytes(gb2312),iso-8859-1);
9.使用stringbuffer类与string类进行字符串连接时有何区别?
java平台提供了两个类:string和stringbuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个string类提供了数值不可改变的字符串。而这个stringbuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用stringbuffer。典型地,你可以使用stringbuffers来动态构造字符数据。
10.谈谈final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。
finalize是object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
11.string s = new string(xyz);创建了几个string object?
两个,一个是string s,另一个是”xyz”。
12.java有没有goto?
goto是java中的保留字,现在没有在java中使用。
13.数组有没有length()这个方法? string有没有length()这个方法?
数组没有length()这个方法,有length的属性。string有length()这个方法。
14.overload和override的区别。
override(重写)
1)方法名、参数、返回值相同。
2)子类方法不能缩小父类方法的访问权限。
3)子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4)存在于父类和子类之间。
5)方法被定义为final不能被重写。
overload(重载)
1)参数类型、个数、顺序至少有一个不相同。
2)不能重载只有返回值不同的方法名。
3)存在于父类和子类、同类中。
15.abstract class和interface有什么区别?
interface只能有成员常量,只能是方法的声明;
而abstract class可以有成员变量,可以声明普通方法和抽象方法。
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

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