您的位置:首页 > 编程语言 > Java开发

2014年实习生招聘之武汉光庭信息技术有限公司实习生招聘部分笔试题(Java)—2014/04/14

2014-05-08 15:29 148 查看
作者:Bryant Lei

出处:http://blog.csdn.net/bryantlei

1. Servle生命周期调用的方法有哪些?

解析:Servlet 从被客户第一次请求开始,由Web容器加载并实例化对象,随后进行初始化、服务和销毁。一个Servlet在初始化时会执行其init()方法,在服务阶段执行serivce()方法,之后一直常驻内存,直至Web容器停止才会执行其destroy()方法进行对象的销毁工作。

init方法:初始化Servlet

service方法:响应客户请求

destroy方法:Servlet对象退出生命周期时,释放占用的资源

2.Math.round(11.5) =__ Math.round(-11.5)=__

解析:Math类中提供了三个与取整有关的方法:ceil,floor,round,这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整,Math.ceil(11.3)的结果为12,Math.ceil(-11.6)的结果为-11;floor的英文是地板,该方法就表示向下取整,Math.floor(11.6)的结果是11,Math.floor(-11.4)的结果-12;最难掌握的是round方法,他表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果是12,Math.round(-11.5)的结果为-11.

3.Java中实现多态的机制是方法的__和__.

解析:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

4.JNI技术是否可以调用C语言写的函数?

解析:可以,JNI是JavaNative Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java
Native Interface(JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。

5.Java得到数组的长度是通过length()方法?

解析:java中的length属性和length()方法和size()方法的区别

1.java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.

2.java中的length()方法是针对字符串String说的,如果想看这个字符串的长度则用到length()这个方法.

3.java中的size()方法是针对泛型集合说的,如果想看这个泛型有多少个元素,就调用此方法来查看!

6.UNION连接两个结果集不会有重复数据

解析:Union组合起来,会合并重复(相同)的数据,并排序

Union all组合起来不会合并相同的数据,不进行重新排序,按照你组合的顺序去排序

8.throw和throws的区别

解析:1、throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。如下面例子所示:

public class Shoot {   创建类
static void pop() throwsNegativeArraySizeException {
//定义方法并抛出NegativeArraySizeException异常
int [] arr = newint[-3];//创建数组
}
public static voidmain(String[] args) {//主方法
try {
pop(); //调用pop()方法
} catch(NegativeArraySizeException e) {
System.out.println("pop()方法抛出的异常");//输出异常信息
}
}
}
2、throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。举例如下:

class MyException extendsException { //创建自定义异常类
String message; //定义String类型变量
public MyException(String ErrorMessagr) {  //父类方法
message = ErrorMessagr;
}
public String getMessage(){   //覆盖getMessage()方法
return message;
}
}
public class Captor { //创建类
static int quotient(intx,int y) throws MyException{//定义方法抛出异常
if(y < 0){  //判断参数是否小于0
throw new MyException("除数不能是负数");//异常信息
}
return x/y;//返回值
}
public static voidmain(String args[]){ //主方法
try{ //try语句包含可能发生异常的语句
int result = quotient(3,-1);//调用方法quotient()
}catch (MyException e) { //处理自定义异常
System.out.println(e.getMessage()); //输出异常信息
}
catch (ArithmeticException e) {
//处理ArithmeticException异常
System.out.println("除数不能为0");//输出提示信息
}
catch (Exception e) { //处理其他异常
System.out.println("程序发生了其他的异常");
//输出提示信息
}
}
}
9.下列程序的输出是__.

public classTestSwitch {
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0;
int num = 10;
switch (num)
{
default:i++;System.out.println("break");
case 10:i++;
case 11:i++;
break;
}
System.out.println("i="+i);
}
}


解析:i=2

Result:笔试通过,面试没有去
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: