java应届生面试题和答案
对于Java应届生求职者而言,提前对面试题目有了解很重要,以下是小编帮你们整理的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));
return result.toString();
}
写一个方法,实现字符串的替换,如:输入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, BigDecimal.ROUND_HALF_UP));
4.日期和时间
如何取得年月日,小时分秒
Date dat=new Date();
dat.getYear(); dat.getMonth(); dat.getDay(); dat.getHours(); dat.getMinutes(); dat.getSeconds();
如何取得从1970年到现在的毫秒数
long now=dat.getTime();
如何获取某个日期是当月的最后一天
DateFormate df=DateFormate.getInstance();df.Format(dat);
如何格式化日期
DateFormate df=DateFormate.getInstance();
df.Format(dat);
java应届生面试题和答案(二)
1.数组和集合
数组与集合的区别:一:数组声明了它容纳的元素的类型,而集合不声明。这是由于集合以object形式来存储它们的元素。二:一个数组实例具有固定的大小,不能伸缩。集合则可根据需要动态改变大小。三:数组是一种可读/可写数据结构没有办法创建一个只读数组。然而可以使用集合提供的ReadOnly方 只读方式来使用集合。该方法将返回一个集合的只读版本。
2.Java多态的实现(继承、重载、覆盖)
多态可分为:
1)编译多态:主要是体现在重载,系统在编译时就能确定调用重载函数的哪个版本。
2)运行多态:主要体现在OO设计的继承性上,子类的对象也是父类的对象,即上溯造型,所以子类对象可以作为父类对象使用,父类的对象变量可以指向子类对象。因此通过一个父类发出的方法调用可能执行的是方法在父类中的实现,也可能是某个子类中的实现,它是由运行时刻具体的对象类型决定的。
3.编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。
String str = new String("字符串".getBytes("GB2312"),"ISO-8859-1");
4.使用StringBuffer类与String类进行字符串连接时有何区别?
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
5.谈谈final, finally, finalize的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
6.int 和 Integer 有什么区别?
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,
Integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
原始类型封装类booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
java应届生面试题和答案(三)
1.String s = new String("xyz");创建了几个String Object?
两个,一个是string s,另一个是”xyz”。
2.Java有没有goto?
goto是java中的保留字,现在没有在java中使用。
3.数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。String有length()这个方法。
4.Overload和Override的区别。
override(重写)
1)方法名、参数、返回值相同。
2)子类方法不能缩小父类方法的访问权限。
3)子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4)存在于父类和子类之间。
5)方法被定义为final不能被重写。
overload(重载)
1)参数类型、个数、顺序至少有一个不相同。
2)不能重载只有返回值不同的方法名。
3)存在于父类和子类、同类中。
5.abstract class和interface有什么区别?
Interface只能有成员常量,只能是方法的声明;
而abstract class可以有成员变量,可以声明普通方法和抽象方法。
声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。
6.是否可以继承String类?
String类是final类故不可以继承。
看了“java应届生面试题和答案”