《JAVA面试集.docx》由会员分享,可在线阅读,更多相关《JAVA面试集.docx(21页珍藏版)》请在第一文库网上搜索。
1、JAVA面试集设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少元音字母,并输出这个数字。(选做)Math.random。方法可以随机产生01之间的double类型的小数。JAVA多线程编程。用JAVA写一个多线程程序(一般掌握)Java的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器儿个字符,再写入本地显示(一般掌握)用JAVA实现数据库查询,这是一道编程题。(重点掌握)输入一串字符,输出时倒转过来。输入:Hello ! This is a test text.输出:, text test a is This ! Hello问答题Java中异常处理机制
2、使用try, catch finally0把有可能产生违例的代码放到try的语句块中,一旦这些代码产生了违例,就会执行相应的catch语句块中的语句,finally语句块的代码,不管有产生违例都会执行的。事件机制事件监听器接口,定义了事件的处理方法。事件源:产生事件的组件事件源对自己感兴趣的事件进行注册(注册监听器),然后事件源一旦产生事件,就会调用相应的事件处理方法,执行相应的代码。JAVA中的多形与继承,可出编程,选择题。抽象类与接口,接口的好处是将实现与表现分离。声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,声明方法。不
3、能创建abstract类的实例。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。没有一个有程序体。接口只可以定义static final成员变量。一个类实现接口要实现接口的所有方法。STRING 与 STRINGBUFFER 的区别。STRING的长度是不可变的,STRINGBUFFER的长度是可变的。如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用 StringBuffer 的 toString()方法谈谈final, finally的区别。final(关键字)如果一个类被声明为final,意
4、味着它不能再派生出新的子类,不能作为父类被继承。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。finally一异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。Collection和Collections的区别。你千万别说一个是单数一个是复数。Collections d java.util下的类,它包含有各种有关集合操作的静态方法。Collectio
5、n是个java.util下的接口,它是各种集合结构的父接口。GC是什么?为什么要有GC?Garbage CollectionGC是垃圾收集器。Java程序员不用担心内存管理,因为垃圾收集器会自动进行管理。Math, round (11. 5)等於多少? Math.round(-11.5)等於多少?Math.round(11.5)i0 12, Math.round(11.5)返回-11;Java有没有goto?Gotojava中的保留字,现在没有在java中使用数组有没有length。这个方法? String有没有length。这个方法?数组没有length。这个方法,有length的属性。St
6、ring有有length。这个方法。Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(0verriding)o子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被屏蔽了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。给我一个你最常见到的runtime exception。如果你这个答不出来,面试的人会认为你没有实际编程经验。IndexO
7、utOfBoundsExceptionClassCastExceptionerror和exception有什么区别?error表示一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception表示可以处理的问题。接口是否可继承接口?可以启动一个线程是用run()还是start()7Start ()构造器Constructor是否可被override?构造器Constructor不能被继承,因此不能重写Override,但可以被重载Overload是否可以继承String类?String类是final类故不可以继承swtich是否能作用在byte上,是否能作用在long上,是否
8、能作用在String上?switch (exprl)中,exprl是一个整数表达式。因此传递给switch和case语句的参数应该是 int、short char 或者 byteo long,string 都不能作用于 swtich。数组和vector的区别数组不可以随时改变大小,可以保存引用类型的数据和基本类型的数据。Vector可以随时改变大小,只可以保存引用类型的数据。JAVA类实现序例化的方法是实现接口作用域public,private,protected,以及不写时的区别答:区别如下:作用域 当前类 同一 package子孙类 其他packagepublic protected Xf
9、riendly private 不写时默认为friendlyArrayList 和 Vector 的区另J答:就ArrayList与Vector主要从二方面来说.一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半char型变量中能不能存贮一个中文汉字?为什么?答:是能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的多线程有几种实现方法,都是什么?同步实现方法,都是什么?答:多线程有两种实现
10、方法,分别是继承Thread类与实现Runnable接口同步的实现方面synchronized继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?答:父类:package test;public class FatherClasspublic FatherClass()( System, out. print In (zzFatherClass Create);)子类:package test;import test. FatherClass;public class ChildClass extends FatherClasspublic ChildClass()(System,
11、out. print In (ChildClass Create);)public static void main(String args)FatherClass fc = new FatherClass();ChildClass cc = new ChildClass();)输出结果:C:java test. ChildClassFatherClass CreateFatherClass CreateChildClass Create6、内部类的实现方式?答:示例代码如下:package test;public class OuterClassprivate class InterClas
12、spublic InterClass ()System, out. print In (z/InterClass Create);public OuterClass()InterClass ic = new InterClass();System, out. print In (/z OuterClass Create,z);)public static void main(String args)OuterClass oc = new OuterClass ();)输出结果:C:java test/OuterClassInterClass CreateOuterClass Createflo
13、at 型 float f=3.4 是否正确?答:不正确。精度不准确,应该用强制类型转换,如下所示:float f= (float)3. 4介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?答:Collection FrameWorkCollection-ListI -LinkedList -ArrayList 1-Vector tacketMapHashtable-HashMapl-WeakHashMapCollection是最基本的集合接口, 一个Collection代表一组Object,即Collection的元素(Elements)Map提供key到v
14、alue的映射从性能上看,下面的代码有何不妥,为什么?class A(public static void main(String args)String str=z,z,;for(int i=0;i100;i+)(str+=(char)i;)System.out.printin (str);一、Java基础知识L Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。2 .字符串的操作:写一个方法,实现字符串的反转,如:输入abc,输出cba写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。3 .数据类型之间的转换如何将数值型字符转换为数
15、字(Integer, Double)如何将数字转换为字符如何取小数点前两位,并四舍五入。4 .日期和时间如何取得年月日,小时分秒如何取得从1970年到现在的毫秒数如何获取某个日期是当月的最后一天如何格式化日期5 .数组和集合6 .文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的所有子目录判断一个文件或目录是否存在如何读写文件7 . Java多态的实现(继承、重载、覆盖)8 .编码转换,怎样实现将GB2312编码的字符串转换为ISO-88591编码的字符串。9 . Java中访问数据库的步骤,Statement和PreparedStatement之间的区别。10 .找出下列代码可能存在的错误,并说